2009-07-20 80 views
1

我將是第一個承認我的SQL技能缺乏的人。現在...SQL基本查詢問題

假設我們有一個名爲Posts的數據庫表,它有三列:Id,RootId和DateTime。

我想要做的是獲得最後的(通過DateTime)20個不同的RootId值。

雖然這裏有一點要注意:RootId可能是NULL,在這種情況下,我們應該將該記錄視爲不同的,而不是NULL,而應該返回Id。

查詢會是什麼?

回答

2

select distinct top 20 isnull(rootid,id) from posts order by datetime desc

假設這是用於MS SQL服務器

+0

ISNULL(rootid,ID)似乎有點奇怪。爲什麼不是isnull(rootid,0)? – JohnFx 2009-07-20 00:18:27