(一「工作原理」 - 問題)sql服務器是否介意插入記錄的方式?
假設我有這個表:
Id val
------------------
1 a <--
1 a
1 a
2 b <--
2 b
2 b
現在可以說,我想標記的行:
我能指望這個查詢:
select id,val from (
select id , val , row_number() over (partition by id order by id) as rn
) k where rn=1
給我選擇行?
(請注意order by
條款)。它會將訂單視爲它們所插入的訂單嗎?
請問這個問題從[這個問題](HTTP來在你的心中:// stackoverflow.com/questions/12402170/getting-one-row-sql)? – hims056
@ hims056的確如此。我也在那裏回答。但somoenes評論引起了我的注意。 –
不,並且查詢計劃甚至可能包含一個「ANY(val)」聚合,表示可以選擇每個「Id」的任何行。詳情請見http://bit.ly/AnyAggregate –