假设我有以下数据表:
ID VALUE
--- -------
123 a
123 b
456 c
456 d
789 e
如果已经对数据进行了排序,如何获得输出以仅选择每个ID的顶部条目。即,我需要显示数据:
ID VALUE
--- -------
123 a
456 c
789 e
答案 0 :(得分:1)
SQL表表示无序集。除非您有指定顺序的列,否则该表没有顺序。
这是SQL的基础。让我假设您有一个订购专栏。然后,您可以执行以下操作:
select t.*
from t
where t.ordcol = (select max(t2.ordcol) from t t2 where t2.id = t.id);
答案 1 :(得分:0)
您还可以动态添加订单,
例如
select * from
(select id, value, dense_rank() OVER (ORDER BY value asc) as myrank from #mytable ) aa
where myrank=1