Order by sequence number in ascending, positioning NULL value at last (order by id ascending)
In the query above we use (-) minus sign to sequence field that will negate/inverse sequence number, positive value will be negative, a negative value will be positive, NULL values will remain.
Item picture_two with id=2 order sequence will be -1 from 1 and so on. This query will order picture in ascending sequence if not null, otherwise order in ascending id.
This two query will also give same result:
SELECT * FROM picrure ORDER BY -sequence DESC, id ASC;Given example: picture table
id | sequence | name |
1 | NULL | picture_one |
2 | 1 | picture_two |
3 | 2 | picture_three |
4 | NULL | picture_four |
5 | 3 | picture_five |
In the query above we use (-) minus sign to sequence field that will negate/inverse sequence number, positive value will be negative, a negative value will be positive, NULL values will remain.
Item picture_two with id=2 order sequence will be -1 from 1 and so on. This query will order picture in ascending sequence if not null, otherwise order in ascending id.
id | sequence | name |
2 | 1 | picture_two |
3 | 2 | picture_three |
5 | 3 | picture_five |
1 | NULL | picture_one |
4 | NULL | picture_four |
This two query will also give same result:
SELECT * FROM fortest.picture ORDER BY sequence IS NULL ASC, sequence ASC, id ASC; SELECT * FROM fortest.picture ORDER BY ISNULL(sequence) ASC, sequence ASC, id ASC;