我不知道如何称呼我的目标,所以很难找到答案。所以我决定发布我自己的,希望有人能给它取个合适的名字。
表中有以下值:

id       | myvalue
-------------------
98ff5ab  | 501
fa69ac0  | 502
66afb6a  | 501
988af2b  | 503
12a3f4b  | 503
81cde8a  | 502
788bf2b  | 502
55b3f4b  | 503
90ade8a  | 502

我的目标是实现某种形式的foo,在这里我将得到ORDER BY重复如下:
id       | myvalue
-------------------
98ff5ab  | 501
fa69ac0  | 502
988af2b  | 503
66afb6a  | 501
81cde8a  | 502
12a3f4b  | 503
788bf2b  | 502
55b3f4b  | 503
90ade8a  | 502

所以我把字段myvalue作为一个连续的组排序,像myvalue一样重复。
我怎样才能做到这一点?

最佳答案

不需要子查询:

select t.*
from t
order by row_number() over (partition by myvalue order by null), myvalue;

关于sql - PostgreSQL-如何通过重复一组相同的字段值进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50878770/

10-15 14:48