+ -
当前位置:首页 → 问答吧 → 如何选择第一条和最后条记录

如何选择第一条和最后条记录

时间:2011-12-21

来源:互联网

记录要按照name分组,然后我想把每个分组里的第一条和最后一条同时查出来能做到吗?更简单的说,如果要查一个人第一次登陆的时间和最后登录的时间,能一次查出吗?

作者: burningbloodgg   发布时间: 2011-12-21

SQL code
SELECT NAME,MIN([登陆时间]),MAX([登陆时间])
FROM [表名]
GROUP BY NAME

作者: kuqideyupian   发布时间: 2011-12-21

引用楼主 burningbloodgg 的回复:
记录要按照name分组,然后我想把每个分组里的第一条和最后一条同时查出来能做到吗?更简单的说,如果要查一个人第一次登陆的时间和最后登录的时间,能一次查出吗?

如果只查时间
select name , min(登录时间) 第一次登陆时间,max(登录时间) 最后一次登陆时间 from tb group by name

如果是查整条记录则如下:
select t.* from tb t where 登录时间 = (select min(登录时间) from tb where name = t.name)
select t.* from tb t where 登录时间 = (select max(登录时间) from tb where name = t.name)

select t.* from tb t where not exists (select 1 from tb where name = t.name and 登录时间 < t.登录时间)

select t.* from tb t where not exists (select 1 from tb where name = t.name and 登录时间 > t.登录时间)

作者: dawugui   发布时间: 2011-12-21