排序问题

RoninBlade 2009-07-07 08:26:28
有如下表
A1,A2
B 1
H 1
A 3
F 3
J 3
D 1
C 2
E 2

排序的结果为
A 3
F 3
J 3
B 1
D 1
H 1
C 2
E 2

按照A1列排序,但是A2一样的数据要在一起。
...全文
48 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
RoninBlade 2009-07-08
  • 打赏
  • 举报
回复
SELECT A1,A2,MIN(A1) OVER(PARTITION BY A2) AS SORT FROM TEST
ORDER BY SORT,A1
htl258_Tony 2009-07-07
  • 打赏
  • 举报
回复
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([A1] varchar(1),[A2] int)
insert [tb]
select 'B',1 union all
select 'H',1 union all
select 'A',3 union all
select 'F',3 union all
select 'J',3 union all
select 'D',1 union all
select 'C',2 union all
select 'E',2

select *
from tb
order by (
select min(A1)
from tb t
where tb.A2=t.A2),
A2,A1
/*
A1 A2
---- -----------
A 3
F 3
J 3
B 1
D 1
H 1
C 2
E 2

(8 行受影响)
*/
LinuxAsianux 2009-07-07
  • 打赏
  • 举报
回复
drysea 2009-07-07
  • 打赏
  • 举报
回复
顶楼上
--小F-- 2009-07-07
  • 打赏
  • 举报
回复
--学习FC 写了一个 
----------------------------------------------------------------
-- Author :fredrickhu(小F 向高手学习)
-- Date :2009-07-07 21:14:48
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
create table [tb]([A1] varchar(1),[A2] int)
insert [tb]
select 'B',1 union all
select 'H',1 union all
select 'A',3 union all
select 'F',3 union all
select 'J',3 union all
select 'D',1 union all
select 'C',2 union all
select 'E',2
--------------开始查询--------------------------
select A1,a.A2 from tb a,
(select min(a1) c ,a2 from tb group by a2)b
where a.a2=b.a2
order by c,a1,a.a2
----------------结果----------------------------
/*
A1 A2
---- -----------
A 3
F 3
J 3
B 1
D 1
H 1
C 2
E 2

(所影响的行数为 8 行)
*/

--小F-- 2009-07-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 fcuandy 的回复:]
SQL codeifobject_id('[tb]')isnotnulldroptable[tb]gocreatetable[tb]([A1]varchar(1),[A2]int)goinsert[tb]select'B',1unionallselect'H',1unionallselect'A',3unionallselect'F',3unionallselect'J',3unionallsel¡­
[/Quote]
惭愧
fcuandy 2009-07-07
  • 打赏
  • 举报
回复
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([A1] varchar(1),[A2] int)
go
insert [tb]
select 'B',1 union all
select 'H',1 union all
select 'A',3 union all
select 'F',3 union all
select 'J',3 union all
select 'D',1 union all
select 'C',2 union all
select 'E',2
go

select a.* from tb a
inner join
(
select min(a1) ma ,a2 from tb group by a2
) b
on a.a2=b.a2
order by ma,a1,a.a2


/*
A 3
F 3
J 3
B 1
D 1
H 1
C 2
E 2

*/
--小F-- 2009-07-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fcuandy 的回复:]
很负责任的告诉你5楼也是错的
[/Quote]
.......没注意 晕 确实是错的
--小F-- 2009-07-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fcuandy 的回复:]
很负责任的告诉你5楼也是错的
[/Quote]

请指点 一下 FC
fcuandy 2009-07-07
  • 打赏
  • 举报
回复
很负责任的告诉你5楼也是错的
--小F-- 2009-07-07
  • 打赏
  • 举报
回复
想得太简单了 SORRY 参考5楼 4楼是错误的
--小F-- 2009-07-07
  • 打赏
  • 举报
回复
----------------------------------------------------------------
-- Author :fredrickhu(小F 向高手学习)
-- Date :2009-07-07 20:44:48
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
create table [tb]([A1] varchar(1),[A2] int)
insert [tb]
select 'B',1 union all
select 'H',1 union all
select 'A',3 union all
select 'F',3 union all
select 'J',3 union all
select 'D',1 union all
select 'C',2 union all
select 'E',2
--------------开始查询--------------------------

SELECT A1,A2
FROM tb
GROUP BY A2,A1
ORDER BY A2 desc
----------------结果----------------------------
/*
A1 A2
---- -----------
A 3
F 3
J 3
C 2
E 2
B 1
D 1
H 1

(所影响的行数为 8 行)
*/

drop table tb
--小F-- 2009-07-07
  • 打赏
  • 举报
回复
SELECT *
FROM TB
ORDER BY A2,A1
nalnait 2009-07-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nalnait 的回复:]
group by a2,a1
[/Quote]
soryy
--
order by a2,a1




declare @ta table(a1 varchar(10),a2 int)

insert into @ta
select 'B',1 union all
select 'H',1 union all
select 'A',3 union all
select 'F',3 union all
select 'J',3 union all
select 'D',1 union all
select 'C',2 union all
select 'E',2

SELECT * FROM @TA ORDER BY A2,A1
JonasFeng 2009-07-07
  • 打赏
  • 举报
回复
SELECT A1,A2
FROM LI
GROUP BY A2,A1
ORDER BY A1
nalnait 2009-07-07
  • 打赏
  • 举报
回复
group by a2,a1

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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