部分字段重复的数据的按一定条件的筛选
某个表中有数据如附件所述:
说明:[LOGID]为标识列
该表的数据结构可以描述为:公司内的不同级别[seclevel]的人[operator]对某一些事务[requestid]的操作 [time]记录[LOGID].
需求是: 需要找出每个事物中,级别最高的人的操作记录的LOGID,如果最高级别有两个以上的人员,那么取第一次操作的记录 LOGID
另:给几个典型的 requestid in (68361,63775,24544) 测试
requestidoperatorsecleveltimeLOGID
245441100502012-11-30 11:54:2588484
245441095702012-11-30 12:19:1788511
24544168702012-12-10 16:56:1094937
245441107302012-12-11 08:45:3295006
63775571702013-06-05 11:14:54248878
63775168702013-06-05 15:59:54249555
63775571702013-06-13 10:33:27256047
63775571702013-06-20 14:30:25264887
63775168702013-06-25 15:55:41270762
63775638302013-06-28 10:14:07274371
68361571702013-06-25 09:32:25269672
68361571702013-07-04 09:47:20280945
68361168702013-07-04 17:19:28281814
68361638302013-07-08 13:36:10284312
测试数据集下载 http://pan.baidu.com/share/link?shareid=3780299139&uk=1712553852
如何写查询SQL呢? 需求 行业数据
[解决办法]
这种写法好看些:
select a.requestid,a.loginID from 表名 a,(select min(time) as time1,requestid from 表名 group by requestid) b where a.requestid=b.requestid and a.time= b.time1 order by a.requestid