首页新闻找找看学习计划

SQl 语句设计

0
悬赏园豆:5 [已解决问题] 解决于 2018-01-29 19:17

数据样式

Num          Ber

1                5

1                6

1                7

2                1

2                 2

2                3 

3               1

3                3

3               1

4               1

4                5

 

 

现在想要实现 先对Num字段降序排序,要依据相同Num字段的Ber字段中最大值对Num字段排序

然后在对Ber字段降序排序  上述例子排序之后应是   

Num        Ber

1                 7

1                 6

1                 5

4                 5

4                 1

2                3

2                 2

2                1 

3               3

3                1

要怎样设计SQL语句呢

大飞天的主页 大飞天 | 初学一级 | 园豆:186
提问于:2018-01-25 21:02
< >
分享
最佳答案
0

要依据相同Num字段的Ber字段中最大值对Num字段排序

这个是什么意思?都相同的Num了为什么还要根据条件再对Num排序?

收获园豆:5
Daniel Cai | 专家六级 |园豆:10374 | 2018-01-25 21:17

就相当于 把Num 分组 然后根据每一组里Ber中的最大值对这个Num排序

大飞天 | 园豆:186 (初学一级) | 2018-01-25 21:20

@大飞天: select * from (select * from tb order by Num) t group by Ber;

Daniel Cai | 园豆:10374 (专家六级) | 2018-01-25 21:42

@Daniel Cai: 

没有看懂,可以帮我解释一下吗

大飞天 | 园豆:186 (初学一级) | 2018-01-25 22:52

@大飞天: 根据Ber分组,每组中再按照Num排序

如果你是要按照Num分组就

select * from (select * from tb order by Ber) t group by Num;

但的确没看懂 根据每一组里Ber中的最大值对这个Num排序

排序为什么还要根据某个值来?还要是最大值

Daniel Cai | 园豆:10374 (专家六级) | 2018-01-25 22:55
其他回答(4)
0

多动手啊少年,仅用order by 就可以实现

select Num,Ber from tb order by Num asc,Ber desc;

nicky0227 | 园豆:1069 (小虾三级) | 2018-01-26 08:42

z这个是正解。

支持(0) 反对(0) ckx0709 | 园豆:392 (菜鸟二级) | 2018-01-26 09:24
0

select Num,Ber from table_name where 1=1 order by Num asc,Ber desc

流年煮雪 | 园豆:219 (菜鸟二级) | 2018-01-26 09:34
0

select * from tb order by Num asc,Ber desc是这个不,我理解你的意思,应该是先按Num正序排,如果Num相同,再按Ber倒序排,希望我的理解没错

坐在家里晒太阳 | 园豆:117 (初学一级) | 2018-01-26 14:25
0

select Num,Ber from 表 order by Num asc,Ber desc;  多动手啊,少年

Oo柠柠柠酸柠檬o | 园豆:206 (菜鸟二级) | 2018-01-26 14:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册