我有一個按1,2列排序的表。我需要從頂部和所有後續行中獲取第一行,而第二列的值與第一行的值相同。SQL:按兩列排序並在第二列中獲得具有相同值的第一行
F.e我有數據樣本:
select * from sample
order by ID desc, date desc
ID Date
--- ----
45 NULL
44 NULL
40 01/01/10
35 NULL
32 04/05/08
我需要讓前兩排(帶有id in (45, 44)
),因爲2次排有Date = NULL
。
如果我有數據樣本:
ID Date
--- ----
45 NULL
44 NULL
40 NULL
35 NULL
32 04/05/08
我需要拿到第4行(與id in (45, 44, 40, 35)
)。
我無法通過查詢來解決我的問題。我考慮過使用row_number()
和rank()
,但我無法適應他們對我的目的。 非常感謝您的幫助!
嘗試按日期排序,ID asc/decs'。這將首先按第二欄排序,然後按第一欄排序(如果您需要第二欄排序)。 – FDavidov
爲什麼不在第一種情況下得到id = 35? –
其簡單的戈登,因爲你有不同的日期列之前35'40 01/01/10' –