请帮助我如何编写排序查询。我有一组来 self 的 sql 查询的数据,如下图所示
目前数据排序为level order、sequence、chgcode。我希望我的数据按不同的排序显示。 也就是说,如果 level = 2,则排序将为 [按级别、顺序、更改代码、日期排序] 除此之外将是 [按级别、顺序、日期、更改代码排序]
我需要的实际结果如下图
最佳答案
这有点棘手,但是您可以为 order by
使用多个键:
order by level, sequence,
(case when level = 2 then chgcode end),
(case when level = 2 then date end),
date,
chgcode
前两个键对于两个组都是通用的。接下来的两个特定于 level = 2
(并按此顺序);请注意,当 level 不是 2 时,两者的值都将为 NULL
。最后两个用于其他所有内容。
关于mysql - 用于数据排序的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40732922/