sql-分组排序

王朝学院·作者佚名  2016-05-26
窄屏简体版  字體: 小  |  中  |  大  |  超大  

sql-分组排序我们有一张数据表,需要按照【类别】分组按照【时间】排序,并分组显示各自的序号。

表Archive

ArchiveId

varchar(30)

文章编号非数字

CategoryId

int

文章分类Id

StatusId

int

状态,-1表示删除,0表示新建,1表示启用

PubTime

DateTime

发布时间

select top 100 ArchiveId,StatusId,PubTime,CategoryId from Archive where StatusId>=0order by PubTime desc

查询结果:

按照【类别】分组按照【时间】排序,并分组显示各自的序号。具体做法:--子表with asm as(select ArchiveId,StatusId,PubTime,CategoryId from Archive where StatusId>=0)--查询-------------------select bb.ArchiveId,bb.StatusId,bb.PubTime,bb.CategoryId,--序号列生成 (select COUNT(1) from asm where bb.CategoryId=asm.CategoryId and bb.PubTime>=asm.PubTime) rowid --插入临时表into #temp from Archive bbwhere bb.StatusId>=0

查询临时表:

select top 200 * from #temp order by CategoryId desc,rowid asc

见查得结果:

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航