How can I count non-null entries by field/column? I see several answers to count by row but can't hack how to do so for columns.
Input:
╔════╦════════╦════════╦════════╗
║ id ║ field1 ║ field2 ║ field3 ║
║ 1 ║ do ║ re ║ me ║
║ 2 ║ fa ║ ║ so ║
║ 3 ║ la ║ te ║ ║
║ 4 ║ da ║ re ║ ║
╚════╩════════╩════════╩════════╝
output:
id 4
field1 4
field2 3
field3 2
I'm trying to get a gauge on field usage in a very dirty database I am migrating. There's about 50 columns in this database so I am looking for an approach that doesn't involve typing out each column name.
I might also have to extend that search to non-NULL & is-not-empty & ≠ 0 & ≠ "no" because of inconsistencies in data storage — some fields were never used but auto-filled with "no".
This answer looks close to what I need but generates an SQL error and I don't have enough reputation to comment: Count number of NULL values in each column in SQL