sql2000多条件排序

QWER_ASDFASDF 2011-11-23 12:52:11
有表A
{
id int, --主键
datetimes datetime ,--时间
Autherinfoname varchar --姓名
...
}
我是想 根据Autherinfoname 和datetimes 进行排序
Autherinfoname 这有空值,Autherinfoname 空值跟Autherinfoname 不为空的数据进行分开,空值的数据放在不为空值的下边
然后根据时间进行排序

...全文
151 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
-晴天 2011-11-23
  • 打赏
  • 举报
回复
select * from 表A
order by (case when Autherinfoname is null then 1 else 0 end),datetimes
QWER_ASDFASDF 2011-11-23
  • 打赏
  • 举报
回复
恩,我看错了@!谢谢各位大神了
-晴天 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 xiaolinyouni 的回复:]
引用 1 楼 qianjin036a 的回复:

SQL code
select * from 表A
order by (case when Autherinfoname is null then 1 else 0 end),datetimes


学习,,求原理,求解释!!
[/Quote]

以两列排序,但第一列由一个判断获得两个值,0,1,因为未指定desc,则0排在前.
第二个排序列以后面的 datetimes排序.
-晴天 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 qwer_asdfasdf 的回复:]
为空的数据和不为空的数据分开了,但不为空的数据没有按时间进行排序
[/Quote]

你再仔细看看,到底有没有排序,反正我看是排了.
苦苦的潜行者 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 qwer_asdfasdf 的回复:]

为空的数据和不为空的数据分开了,但不为空的数据没有按时间进行排序
[/Quote]


啥?!你再看看,我怎么没看出来?
苦苦的潜行者 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qianjin036a 的回复:]

SQL code
select * from 表A
order by (case when Autherinfoname is null then 1 else 0 end),datetimes
[/Quote]

学习,,求原理,求解释!!
QWER_ASDFASDF 2011-11-23
  • 打赏
  • 举报
回复
为空的数据和不为空的数据分开了,但不为空的数据没有按时间进行排序
QWER_ASDFASDF 2011-11-23
  • 打赏
  • 举报
回复
撒旦法 12 bbb 2011-11-15 10:19:25.013
23 sdafd 2011-11-23 10:55:41.653
43 ewrtfst 2011-11-23 10:56:51.967
34 a 2011-11-23 11:07:13.217
34 b 2011-11-23 11:07:16.997
34 c 2011-11-23 11:07:20.233
34 ab 2011-11-23 11:07:29.687
34 ac 2011-11-23 11:07:34.030
34 ad 2011-11-23 11:07:37.170
33 00aa 2011-11-23 11:08:37.577
33 01aa 2011-11-23 11:08:41.763
33 02aa 2011-11-23 11:09:21.450
33 03aa 2011-11-23 11:09:35.530
34 2011-11-23 10:53:10.937
34 2011-11-23 10:53:14.293
34 2011-11-23 10:53:15.343
34 2011-11-23 10:53:16.733
34 2011-11-23 10:53:17.653
34 2011-11-23 10:53:18.873
34 2011-11-23 10:53:20.060
34 2011-11-23 10:53:20.793
43 2011-11-23 10:56:45.903
34 2011-11-23 11:07:08.043
33 2011-11-23 11:08:46.437
33 2011-11-23 11:09:27.590

QWER_ASDFASDF 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 qianjin036a 的回复:]

引用 6 楼 qwer_asdfasdf 的回复:
我补充下:Autherinfoname 的值可以为‘ ’,就是个空字符串


SQL code
select * from 表A
order by (case when Autherinfoname is null or Autherinfoname='' then 1 else 0 end),datetimes
[/Quote]

没有按时间排序
--小F-- 2011-11-23
  • 打赏
  • 举报
回复
直接用测试数据和所需要的结果来说话。
QWER_ASDFASDF 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lzd_83 的回复:]

select * from 表a
order by (case when Autherinfoname is null then 1 else 0 end),datetimes
[/Quote]
这不行,Autherinfoname 为空的数据和不为空的数据没有分开
-晴天 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qwer_asdfasdf 的回复:]
我补充下:Autherinfoname 的值可以为‘ ’,就是个空字符串
[/Quote]

select * from 表A
order by (case when Autherinfoname is null or Autherinfoname='' then 1 else 0 end),datetimes
QWER_ASDFASDF 2011-11-23
  • 打赏
  • 举报
回复
我补充下:Autherinfoname 的值可以为‘ ’,就是个空字符串
Rotel-刘志东 2011-11-23
  • 打赏
  • 举报
回复
select * from 表a
order by (case when Autherinfoname is null then 1 else 0 end),datetimes
--小F-- 2011-11-23
  • 打赏
  • 举报
回复
order by (case when Autherinfoname is null then 1 else 0 end),datetimes
-晴天 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 geniuswjt 的回复:]
被秒了
[/Quote]
geniuswjt 2011-11-23
  • 打赏
  • 举报
回复
被秒了

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧