--这样?
select * from info
order by
case when datediff(d,publictime,getdate())>0 then 1 else 0 end,grade desc,publictime desc
解决方案 »
- sql 如何统计增加 量
- 帮我看看这个数据到底是多少?
- 一句sql语句的问题?
- MSSQL server 2008 硬盘占用高
- 百分求专家解答:::动态符合多个条件查询:::
- 请教sqlserver的字符串包含科学计数法表示的数,如何转化成数字或者自然计数法的文本
- 在数据表中设定id,默认值为newid(),如何在数据表创建脚本中实现这个功能?
- 求助!请问在ACCESS中开发报表时为什么会报“内存溢出”?并且打不开visual basic编辑器(报错说内存溢出)?难道ACCESS中报表数目有限制
- 一个SQL的基础问题
- 高分寻《计算机原理、接口》《数据库原理(VFP)》 参考资料
- 如何将一个数据库中某表中的记录复制到另一个数据库中相同表中。
- sqlserver 2000 和 2005能够同时安装在xp系统上吗
(假设今天是:2008-10-13) 想要实现的是:
1.当天发布的信息会员等级高的排在前面(即按会员等级高低排列),会员等级相同的再按发布时间倒序排列。
2.历史信息按会员的发布时间倒序进行排列。
图我发上去了,看不到看这里http://hiphotos.baidu.com/weasle/pic/item/f19bb238273aa6d8d462255f.jpg
order by
case when datediff(d,publictime,getdate())=0 then 0 else 1 end,grade desc,publictime desc
2 标题2 b 3 2008-10-13 9:20:50
4 标题4 d 3 2008-10-13 8:10:50
8 标题8 h 2 2008-10-13 18:15:50
3 标题3 c 2 2008-10-13 10:25:50
1 标题1 a 1 2008-10-13 17:20:50
5 标题5 e 3 2008-10-12 10:15:50
7 标题7 g 2 2008-10-12 11:15:50
6 标题6 f 1 2008-10-12 13:20:50
FROM info
ORDER BY
CASE
WHEN DATEDIFF(DAY,publictime,GETDATE())=0
THEN grade ELSE NULL END DESC,
CASE
WHEN DATEDIFF(DAY,publictime,GETDATE())=0
THEN publictime ELSE NULL END DESC,
CASE
WHEN DATEDIFF(DAY,publictime,GETDATE())>0
THEN publictime ELSE NULL END DESC--这样?
----------- -------------------------------------------- ---------- ----------- --------------------------
2 标题2 b 3 2008-10-13 09:20:50.000
4 标题4 d 3 2008-10-13 08:10:50.000
8 标题8 h 2 2008-10-13 18:15:50.000
3 标题3 c 2 2008-10-13 10:25:50.000
1 标题1 a 1 2008-10-13 17:20:50.000
6 标题6 f 1 2008-10-12 13:20:50.000
7 标题7 g 2 2008-10-12 11:15:50.000
5 标题5 e 3 2008-10-12 10:15:50.000
晕。语句发漏了。。
select * from info
order by
case when datediff(d,publictime,getdate())=0 then grade else null end desc,publictime desc