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
x
SELECT rowid FROM
(SELECT rowid, COUNT_NULLS(column_1,column_2, ,column_n) AS num_nulls FROM rows)
ORDER BY num_nulls;
Advertisement
Answer
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
.