导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

求一查询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
...全文
74 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告