求一查询SQL语句~~~~~~~~~

bobofsj11 2008-01-02 05:07:01
a b c
1 商家1
2 商家2
3 商家3 1
4 商家4 1


默认按照a升序排列。如果C标注优先排
结果

3 商家3 1
4 商家4 1
1 商家1
2 商家2
...全文
97 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
y_dong119 2008-01-03
给分
  • 打赏
  • 举报
回复
cxmcxm 2008-01-02
给空C填上一最大的数
declare @maxc int
select @maxc=max(c) from table1
select * from table1 order by case when c is null then @maxc else c end,a
  • 打赏
  • 举报
回复
pt1314917 2008-01-02
select * from tb order by c desc , a
  • 打赏
  • 举报
回复
popeye627 2008-01-02

select t.a,t.b,isnull(t.c,'')c
from
(
select '1' as a,'商家1' as b,null as c
union
select '2' ,'商家2',null
union
select '3' ,'商家3','1'
union
select '4' ,'商家4','1'
union
select '8' ,'商家8','8'
union
select '5' ,'商家5',null
) t
order by isnull(t.c,'') desc,t.a

---------------------------------
a b c
---- ----- ----
8 商家8 8
3 商家3 1
4 商家4 1
1 商家1
2 商家2
5 商家5

(6 個資料列受到影響)
  • 打赏
  • 举报
回复
一者仁心 2008-01-02
没看明白 c 都会有什么情况出现?

select * from tab where order by c,a

  • 打赏
  • 举报
回复
-狙击手- 2008-01-02
declare @tb table (a int,b varchar(10),c int)
insert into @tb select 1,'商家1',null
insert into @tb select 2,'商家2',null
insert into @tb select 3,'商家3',1
insert into @tb select 4,'商家4',1

select *
from @tb
order by c desc,b
/*
a b c
----------- ---------- -----------
3 商家3 1
4 商家4 1
1 商家1 NULL
2 商家2 NULL

(所影响的行数为 4 行)
*/
  • 打赏
  • 举报
回复
wzy_love_sly 2008-01-02
declare @tb table (a int,b varchar(10),c int)
insert into @tb select 1,'商家1',null
insert into @tb select 2,'商家2',null
insert into @tb select 3,'商家3',1
insert into @tb select 4,'商家4',1

select * from @tb order by case when c=1 then 0 else 1 end,a


a b c
3 商家3 1
4 商家4 1
1 商家1 NULL
2 商家2 NULL
  • 打赏
  • 举报
回复
-狙击手- 2008-01-02
select *
from table
order by c desc,b
  • 打赏
  • 举报
回复
dawugui 2008-01-02
select * from tb order by c desc , a
  • 打赏
  • 举报
回复
dawugui 2008-01-02
select * from tb order by c desc , b , a
  • 打赏
  • 举报
回复
发帖
MS-SQL Server

3.4w+

社区成员

MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2008-01-02 05:07
社区公告
暂无公告