【发布时间】:2011-07-07 08:06:26
【问题描述】:
- 如何使用
CASE声明ORDER BY- 第一组:日期列
Col1中的空值按日期列Col2 DESC排序 - 第二组:日期列中的非空值-
Col1按Col1 DESC排序
- 第一组:日期列
我尝试了以下方法:
SELECT columns FROM tables WHERE condition
ORDER BY
case when Table1.Col1 IS NULL then 0 end, Table2.Col2 DESC,
case when Table1.Col1 IS NOT NULL then 1 end, Table1.Col1 DESC
但是排序顺序错误,NOT NULL 值在前(按 Col2 而不是 Col1 排序)。我想我错过了一个细节。
【问题讨论】:
标签: sql-server-2005 tsql sql-order-by