[转]取出分组后每组的第一条记录(不用group by)按时间排序
2013-05-16 13:54
204 查看
本文转自:http://www.byywee.com/page/M0/S543/543248.html
操作日志表 CREATE TABLE JobLog -- 操作日志表 ( JobLogId] int NOT NULL , -- 主键 FunctionId nvarchar(20) NULL , -- 功能Id OperateTime datetime NULL -- 操作时间 ) ON PRIMARY GO ALTER TABLE JobLog ADD CONSTRAINT PK_JobLog PRIMARY KEY CLUSTERED(JobLogId) ON PRIMARY GO -- 操作日志表的所有记录 SELECT * FROM JobLog 查询结果: 1 001 2007-11-01 2 001 2007-11-02 3 001 2007-11-03 4 002 2007-11-04 5 002 2007-11-05 6 003 2007-11-06 7 004 2007-11-07 8 004 2007-11-08 9 005 2007-11-09 10 005 2007-11-10 -- 每个功能最后一次操作记录 SELECT * FROM JobLog A WHERE JobLogId in (SELECT TOP 1 JobLogId FROM JobLog WHERE A.FunctionId = FunctionId ORDER BY OperateTime DESC ) 查询结果: 3 001 2007-11-03 5 002 2007-11-05 6 003 2007-11-06 8 004 2007-11-08 10 005 2007-11-10
相关文章推荐
- 取出分组后每组的第一条记录(不用group by)按时间排序
- 取出分组后每组的第一条记录(不用group by)按时间排序
- 取出分组后每组的第一条记录(不用group by)按时间排序---转
- 取出分组后每组的第一条记录(不用group by)按时间排序
- sql 分组后按时间降序排列再取出每组的第一条记录
- group by分组后获得每组中时间最大的那条记录
- mysql5.7分组查询group by,分组查询并且显示每组时间最新的一条记录
- ORACLE 分组排序取每组的第一条记录
- oracle查询:分组查询,取出每组中的第一条记录
- 对多数据进行分组排序后取每组第一条记录
- oracle查询:分组查询,取出每组中的第一条记录
- linq 分组 ,每组取时间最新的记录
- mysql单列去重复group by分组取每组前几条记录加order by排序
- [MySQL] 分组排序取前N条记录以及生成自动数字序列,类似group by后 limit
- [MySQL]学习笔记- 用户行为表中,查询每个人的一条最新行为(分组 排序 取时间最大的一条记录)
- mysql分组取每组前几条记录(排名) 附group by与order by的研究
- mysql查询获取分组后最新的一条记录,策略:先排序,然后在次分组查询(默认第一条),就是最新的一条数据了
- mysql分组取每组前几条记录(排序)
- MySQL分组排序取前N条记录以及生成自动数字序列--group by 后 limit 外加 rownumber
- sql分组查询每组的第一条记录