-1

In SQLite, is there any way of ordering by the number of NULL values in each row, without having stored this number explicitly in a separate column?

Something like

SELECT rowid FROM
    (SELECT rowid, COUNT_NULLS(column_1,column_2,...,column_n) AS num_nulls FROM rows)
ORDER BY num_nulls;
GMB
  • 216,147
  • 25
  • 84
  • 135
Radio Controlled
  • 825
  • 8
  • 23

1 Answers1

1

You can count the number of null values in the row in the order by clause, like so:

select *
from mytable t
order by (column_1 is null) + (column_2 is null) + ... (column_n is null)

Condition (column_1 is null) evaluates as 1 if the column is null, else 0.

GMB
  • 216,147
  • 25
  • 84
  • 135