请帮我看看如何编写排序查询。我的sql查询中有一组数据,如下图所示
当前数据排序是逐级,顺序,chgcode。我想通过不同的排序显示我的数据。 如果level = 2,则排序将是 [按级别,顺序,chgcode,日期排序] 除此之外 [按级别,顺序,日期,chgcode排序]
我需要的实际结果如下图所示
答案 0 :(得分:1)
这有点棘手,但您可以拥有order by
的多个键:
order by level, sequence,
(case when level = 2 then chgcode end),
(case when level = 2 then date end),
date,
chgcode
前两个键对于两个组都是通用的。接下来的两个特定于level = 2
(按此顺序);请注意,当等级不是2时,两者的值都为NULL
。最后两个用于其他所有内容。