数据库结构:
id, subject, content, category, time我想要得到的结果是:首先按category分类(应使用group by category);第二,按time排序,其中最近time的row的category放在最前面,第二近time的row的category放在第二集团。比如,
subject1, category1,time1 ----- 时间最新
subject2, category1,time11
subject3, category2,time2 ----- 时间第二新
subject4, category2,time22
subject5, category3,time3 ----- 时间第三新
subject5, category3,time33
......
id, subject, content, category, time我想要得到的结果是:首先按category分类(应使用group by category);第二,按time排序,其中最近time的row的category放在最前面,第二近time的row的category放在第二集团。比如,
subject1, category1,time1 ----- 时间最新
subject2, category1,time11
subject3, category2,time2 ----- 时间第二新
subject4, category2,time22
subject5, category3,time3 ----- 时间第三新
subject5, category3,time33
......
解决方案 »
- SQL Server DBA三十问 能回答出80%的200分
- 一个简单问题:将某个人的工资提高20%的SQL查询语句怎样写!
- 请一个SQL语句!!!
- 请教邹捷:用Log Explorer for SQL Server 恢复数据的问题
- 帮我解决一个难题,关于到时间触发!
- 数据库备份还原后对于有10万条左右的表不能进行修改这是为什么?
- 请问存储过程为何这样使用参数会错,该怎么写?
- 在XP下能否建立SQL SERVER2000的服务器版
- Win2k Advanced Server里怎么装不了SQL Server 2000?
- 高分求解
- mssql 中 float类型转为varchar型时 变成了科学计数法
- 求多个销售表结合查询最后一次消费折扣问题
select * from tb order by category asc,time desc
select * from tb order by category,time
每个category有多条记录,把时间最近的一条纪录的category放在最前面,后面跟着同一个category的纪录,时间无所谓了;然后排时间第二近的一条记录的category,后面跟着此category的纪录,以次类推。
select a.* from tb a inner join (select category,min(time) as mintime from tb group by category) b on a.category=b.category order by b.mintime desc,a.time desc
那么有个问题,如果排时间第二近的一条记录的category和 排时间第一近的category相同的话怎么处理?
时间太长了,我在中间加了一个限制,
SQL codeselect a.* from tb a inner join (select category,min(time) as mintime from tb group by category) b on a.time>'2009-04-09' and a.category=b.category order by b.mintime de…结果出现很多的重复纪录
select * from tb a order by (select max(time) from category b where a.id=b.id) desc ,time为什么不看看我的啊!
因为有的category有空格之类的,比如"car", "car ",所以本应该算一类,怎么trim一下呢?
select * from tb a
group by *
order by (select max(time) from category b where a.id=b.id) desc ,time