当前位置: 代码迷 >> Sql Server >> 一个简单的查询,忘了如何弄
  详细解决方案

一个简单的查询,忘了如何弄

热度:76   发布时间:2016-04-24 20:51:13.0
一个简单的查询,忘了怎么弄
表的内容如下

我想按照ids的顺序,取出每个id的第一条数据。如图,那么就应该得到第1和第3条记录。

不知道sql语句怎么写。

------解决方案--------------------
select * from tb as t
where ids=(select min(ids) from tb where id=t.id)
------解决方案--------------------
SELECT * FROM tb a
WHERE NOT EXISTS
(
SELECT 1
FROM tb b
WHERE b.id = a.id
AND b.ids < a.ids
)

------解决方案--------------------
select *
from (select *,rn=row_number() over(partition by id order by ids) from tb)t
where rn=1
------解决方案--------------------
select * from table where ids in 
(select min(ids) from table group by id)
------解决方案--------------------

select t.* from
(
  select id, min(ids) from t group by t.id
) a inner join t on a.ids=t.ids

t是你那个表的表名
  相关解决方案