1. 创建临时表tmp
create table #Tmp (
Field1 nvarchar(60),
Field2 nvarchar(60),
Field3 nvarchar(60),
FieldCount int,
CreatedAt int
)
Field1,2,3表示用于分组的列;FieldCount记录每组个数,CreatedAt对应记录时间,一条记录对应一个时间
2. 将记录分组,插入到临时表
insert #Tmp
select t.Field1, t.Field2, t.Field3, count(*) FieldCount, min(CreatedAt)
from Table_X t (nolock)
where ...
group by t.Field1, t.Field2, t.Field3
3. 查询,以CreatedAt排序
select * from #Tmp order by CreatedAt