正如標題所示,我使用的是SQL Server 2008.如果此問題非常基本,請道歉。我只用了幾天的SQL。現在,我有以下查詢:SQL Server 2008:排名前10並且分離在一起
SELECT TOP 10 p.id, pl.nm, pl.val, pl.txt_val
from dm.labs pl
join mas_data.patients p
on pl.id = p.id
where pl.nm like '%LDL%'
and val is not null
我想要做的是使用SELECT TOP N一起與ID列不同的值。通過一些論壇搜索說,使用
SELECT DISTINCT TOP 10 ...
但是當我
SELECT DISTINCT TOP 10 p.id, pl.nm, pl.val, pl.txt_val
取代第一線,我得到了相同的結果無字不同。我應該怎麼做才能過濾出重複的ID條目?
謝謝。
我認爲你需要更明確地陳述你的問題。如果你有三行p.id = 1,那麼你想要哪一行?最高或最低的pl.nm,pl.val,pl.txt_val,某種組合或其他的東西? SQL不能以這種方式應用DISTINCT(),但有辦法每個p.id獲得一行。你只需要定義需求,我們可以幫助... – 2009-12-18 03:07:24
Patients.ID是主鍵嗎? – dan 2009-12-18 06:25:51