简体   繁体   English

在2个级别上排序

[英]ORDER BY on 2 levels

I got the simple SQL request: 我得到了简单的SQL请求:

SELECT campagne, sujet, id FROM campagne ORDER BY id DESC

who returns that: 谁返回:

campagne        sujet   id
campagne1(009)  sujet1  5910
campagne1(008)  sujet1  5909
campagne1(007)  sujet1  5908
campagne1(006)  sujet1  5907
campagne1(005)  sujet1  5906
campagne1(004)  sujet1  5905
campagne1(003)  sujet1  5904
campagne1(002)  sujet1  5903
campagne1(001)  sujet1  5902
campagne2(009)  sujet2  5901
campagne2(008)  sujet2  5900
campagne2(007)  sujet2  5899
campagne2(006)  sujet2  5898
campagne2(005)  sujet2  5897
campagne2(004)  sujet2  5896
campagne2(003)  sujet2  5895
campagne2(002)  sujet2  5894
campagne2(001)  sujet2  5893
campagne3(009)  sujet3  5892
campagne3(008)  sujet3  5891
campagne3(007)  sujet3  5890
campagne3(006)  sujet3  5889
campagne3(005)  sujet3  5888
campagne3(004)  sujet3  5887
campagne3(003)  sujet3  5886
campagne3(002)  sujet3  5885
campagne3(001)  sujet3  5884

And I want return that: 我想返回:

campagne        sujet   id
campagne1(001)  sujet1  5902
campagne1(002)  sujet1  5903
campagne1(003)  sujet1  5904
campagne1(004)  sujet1  5905
campagne1(005)  sujet1  5906
campagne1(006)  sujet1  5907
campagne1(007)  sujet1  5908
campagne1(008)  sujet1  5909
campagne1(009)  sujet1  5910
campagne2(001)  sujet2  5893
campagne2(002)  sujet2  5894
campagne2(003)  sujet2  5895
campagne2(004)  sujet2  5896
campagne2(005)  sujet2  5897
campagne2(006)  sujet2  5898
campagne2(007)  sujet2  5899
campagne2(008)  sujet2  5900
campagne2(009)  sujet2  5901
campagne3(001)  sujet3  5884
campagne3(002)  sujet3  5885
campagne3(003)  sujet3  5886
campagne3(004)  sujet3  5887
campagne3(005)  sujet3  5888
campagne3(006)  sujet3  5889
campagne3(007)  sujet3  5890
campagne3(008)  sujet3  5891
campagne3(009)  sujet3  5892

So for each group of sujet, I need to order the campagnes ASC (or by id DESC)... 因此,对于每组sujet,我需要订购Campagnes ASC(或通过ID DESC)...

What SQL request can do the job ? 哪些SQL请求可以完成这项工作? Big thanks for help ! 非常感谢您的帮助!

Just use multiple sort keys: 只需使用多个排序键:

SELECT campagne, sujet, id
FROM campagne
ORDER BY sujet, campagne

It's possible to order on two columns with different hierarchies. 可以在两个具有不同层次结构的列上进行排序。 So you could go for 所以你可以去

ORDER BY campagne ASC, id DESC;


I guess this is what you meant, right? 我想这就是你的意思,对吧?

For reference see: PostgreSQL-Tutorial ORDER BY 有关参考,请参见: PostgreSQL教程ORDER BY

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM