求sql 语句 group by a 后选择每个分组里的第一条

可小乐 2011-03-24 02:56:14
有两个列
id mytime
在group by id
后,如何选择每个ID 的第一条mytime?
...全文
1259 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuthbert_007 2011-03-24
  • 打赏
  • 举报
回复
select [id],(select top 1 mytime from #tb where [id] = a.[id] order by mytime ) as mytime
from #tb a
group by [id]

--小F-- 2011-03-24
  • 打赏
  • 举报
回复
select 
a.mytime
from
tb a
cross apply
(select top 1 mytime from tb where id=a.id )b
dawugui 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 alonsov3v 的回复:]
有两个列
id mytime
在group by id
后,如何选择每个ID 的第一条mytime?
[/Quote]
select t.* from tb t where mytime = (select top 1 mytime from tb where id = t.id)
dearbinge 2011-03-24
  • 打赏
  • 举报
回复

SELECT * FROM TABLE
WHERE (SELECT COUNT(1) FROM TABLE T
WHERE T.ID=ID AND mytime<T.mytime)<1

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧