select EVT.* ,DEV.DNM, DEV.AI from DEV inner join EVT
ON EVT.DI =DEV.DI where EVT.TM >'2013-7-2 9:27:58'
order by TM desc,case when EVT.DK ='false' then 1 else 0 end desc
表里有两个字段, 一个是TM(DATE),另一个是DK(bool )
首先按时间 降序。
然后 DK为false 的要排在前面。
ON EVT.DI =DEV.DI where EVT.TM >'2013-7-2 9:27:58'
order by TM desc,case when EVT.DK ='false' then 1 else 0 end desc
表里有两个字段, 一个是TM(DATE),另一个是DK(bool )
首先按时间 降序。
然后 DK为false 的要排在前面。
解决方案 »
- 存储过程 参数 Image问题
- sql server 字符串替换问题
- SQL2005中如何通过管理器获得历史SQL查询记录???
- 一条存过过程语句,返回奇怪的问题
- sql查询
- 执行存储过程报错[Microsoft][ODBC SQL Server Driver]超时已过期,怎么解决啊??
- 请教一个难题呀,我的SQL Server2000数据库的日志文件误操作删除了,数据文件无法附加了,十分着急,怎么附加呢?
- MS SQL出现大量"阻塞者"是为什么?
- 请教高手,请问怎样利用编程的方法来自动启动SQL SERVER服务,比如用另外的EXE文件,不能用SQL语句
- oracel中有2000条数据后狂慢不已
- SQL 两次排序
- 【新人求答】关于数据库维护计划-备份
ON EVT.DI =DEV.DI where EVT.TM >'2013-7-2 9:27:58'
order by TM desc,evt.dk
--> 测试数据:@T
declare @T table([TM] datetime,[DK] bit)
insert @T
select '2013-02-01',0 union all
select '2013-01-29',1 union all
select '2013-07-12',0 union all
select '2013-02-04',1 union all
select '2013-02-01',1select * from @T ORDER BY [TM] DESC,[DK]
--利用 RecordSet 将 bit 字段中的数据取出来后,它是 boolean 类型0(false)或1(true).
/*
TM DK
----------------------- -----
2013-07-12 00:00:00.000 0
2013-02-04 00:00:00.000 1
2013-02-01 00:00:00.000 0
2013-02-01 00:00:00.000 1
2013-01-29 00:00:00.000 1
*/
select EVT.* ,DEV.DNM, DEV.AI from DEV inner join EVT ON EVT.DI =DEV.DI where EVT.TM >'2013-7-2 9:27:58' order by dk asc,evt.TM desc