gpt4 book ai didi

sql - 复杂的 'order by' 或者排序问题

转载 作者:行者123 更新时间:2023-12-04 21:58:05 25 4
gpt4 key购买 nike

我有一张看起来像这样的 table

Group  Recipe    Priority
0 A 400
0 A 200
0 B 500
0 B 100
1 C 300
1 C 300
1 D 600

重要的是“组”>“优先级”>“配方”

0 组必须先走。
在组 0 中,优先级 500 必须先运行(因为它具有更高的优先级),但为了效率,所有配方都必须先运行。

排序后,
它应该是这样的
Group  Recipe    Priority
0 B 500
0 B 100
0 A 400
0 A 200
1 D 600
1 C 300
1 C 300

我尝试了所有不同的方法来执行“排序”,但找不到正确的方法。

感谢您的帮助

最佳答案

问题很微妙。您不想按优先级排序,而是按给定组/食谱组合的最大优先级排序。也就是说,您希望根据此最大优先级将所有食谱放在一起。

以下是这样做的:

select t.Group, t.Recipe, t.Priority,
max(priority) over (partition by t.group, t.recipe) as maxpriority
from tablename t
order by t.Group asc, 4 desc, t.Recipe, priority desc

关于sql - 复杂的 'order by' 或者排序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com