gpt4 book ai didi

MySQL - 按总计数的降序排序结果

转载 作者:行者123 更新时间:2023-11-30 23:39:04 24 4
gpt4 key购买 nike

我有如下表格

年--------组织--------名称------------类别--------积分
2005 -------- ABC -------- N1 ------------ CAT1 -------- 10
2006 -------- DEF -------- N2 ---------- CAT2 -------- 5
等等

此表中的主键是(年,组织,名称)

我需要如下输出

org ------ category ------ points (按org整体点数降序排列)
DEF ------ CAT1 ------ 1000
防御力 ------ CAT2 ------ 5000
防御力 ------ CAT3 ------ 2000
ABC ------ CAT1 ------ 6000
ABC ------ CAT2 ------ 100
ABC ------ CAT3 ------ 50

DEF 得分为 8000,高于 ABC 得分 6150。因此出现在预期输出的顶部

我写了一个select语句如下

从 year=2006 group by org,cat order by org 的表中选择 org, cat, count(cat)

我得到按 org 排序的结果,但我无法按每种类型的 org

总点数的降序对输出进行排序

非常感谢任何帮助。谢谢 - Praveen

最佳答案

使用 JOIN 将 org 单独分组,并获取每个组的所有计数的 SUM:

SELECT t.org, t.cat, count(t.cat)
FROM table t JOIN (
SELECT org, count(cat) SumCount
FROM table
WHERE year=2006
GROUP BY org
) tg ON t.org = tg.org
WHERE t.year = 2006
GROUP BY t.org, t.cat
ORDER BY MAX(rs.SumCount), t.org DESC

关于MySQL - 按总计数的降序排序结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5025344/

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