摘要: 下文講述使用sql腳本,獲取群組後記錄的第一條數據業務場景說明: 學校教務處要求統計: 每次作業,最早提交的學生名單下文通過舉例的方式,記錄此次腳本編寫方法,方便以後備查,如下所示: 實現思路: 使用開窗函數,對數據進行分組並按照提交時間進行排序後生成新的組內編號,如下所示: 原文地址:ht ...
摘要:
下文講述使用sql腳本,獲取群組後記錄的第一條數據
業務場景說明:
學校教務處要求統計:
每次作業,最早提交的學生名單
下文通過舉例的方式,記錄此次腳本編寫方法,方便以後備查,如下所示:
實現思路:
使用開窗函數,對數據進行分組並按照提交時間進行排序後生成新的組內編號,如下所示:
/* over開窗函數中 partition by分組 order by 排序 */ create table test(keyId int identity, keChengName nvarchar(20), name nvarchar(20), inDate datetime) go insert into test(keChengName,name,inDate) values('語文','貓貓','2018-9-1 10:00:00'), ('語文','maomao365','2018-9-1 13:00:00'), ('數學','sql教程','2018-9-1 8:00:00'), ('數學','sql博客教程','2018-9-1 9:00:00'), ('數學','其它','2018-9-1 8:10:00') select * from ( select *, row_number() over(partition by keChengName order by inDate asc ) as newKeyId from test ) as t where t.newKeyId =1 go truncate table test drop table test
原文地址:http://www.maomao365.com/?p=7417