1
經與秩序DISTINCT:TSQL SELECT由去年ASC NULLS
SELECT DISTINCT TOP 100 * FROM mytable ORDER BY date ASC
我怎樣才能讓在日零點go最後?
非常感謝。
經與秩序DISTINCT:TSQL SELECT由去年ASC NULLS
SELECT DISTINCT TOP 100 * FROM mytable ORDER BY date ASC
我怎樣才能讓在日零點go最後?
非常感謝。
有些數據庫支持NULL的語法,最後一個是order by
,有些則不支持。所以,我用:
select distinct top 100 *
from MyTable
order by (case when date is null then 1 else 0 end), date asc
或者,如果我不想要鍵入這麼多:
order by coalesce(date, '9999-12-12') -- or something like that
你也可以把不同的子查詢:
select top 100 *
from (select distinct *
from mytable
) t
order by (case when date is null then 1 else 0 end), date asc
假設該date
是在列列表中,但是,第一個版本應該工作。
只有最後一段代碼(子查詢)適用於我。在現實生活中,查詢是巨大的,充滿了聯接,有沒有其他的方式可以通過空值排序而不改變選擇部分?再次感謝! –
@MiguelMas。 。 。你可以問另一個問題,顯示更多的查詢嗎?有些事情正在發生,這個簡單的例子不見了。另外,你使用的是什麼版本的SQL Server? –