不想排序但最后想要空值

Bar*_*rry 0 sql t-sql

我想通过id asc,date asc来订购,但是在有NULL的情况下我希望这些值最后.因此,在下面的示例中,我真的希望1.按ID排序,2.按日期排序asc,其中value不为null,然后3)按日期排序asc,列出最后值为NULL的行.

id  date       value
A12 6/21/2012  125
A12 6/15/2012  NULL
B11 5/28/2011  100
C12 4/23/2012  168
Run Code Online (Sandbox Code Playgroud)

如何对值列进行排序,使NULL值为最后一个,而不对非空值进行排序?

ean*_*533 5

试试这个:

SELECT id, date, value
FROM mytable
ORDER BY id, (CASE WHEN value IS NULL THEN 1 ELSE 0 END), date
Run Code Online (Sandbox Code Playgroud)