【发布时间】:2021-03-27 14:02:27
【问题描述】:
我不知道如何为我的问题找到合适的标题。我希望以某种方式清楚我的意思。 我有如下查询:
SELECT
p.category,
p.characteristic,
SUM(p.amount) AS errors
FROM testtable p
WHERE [...]
GROUP BY
p.characteristic,
p.category
ORDER BY
errors DESC,
p.characteristic ASC
它返回的正是我所期望的:
CAT2 Characteristic #2 4
CAT3 Characteristic #1 3
CAT2 Characteristic #1 3
CAT2 Characteristic #3 1
CAT3 Characteristic #3 1
但我想做的是创建某种带有堆叠条形的帕累托图,它在 x 轴上有特征,在 y 轴上有错误,并且类别会被堆叠起来。
但是,这个结果意味着#2 是第一个有 4 个错误,#1 是第二个有 6 个错误,这是不正确的。
我需要的是一个查询,该查询按特征的错误总和对结果进行排序。这有可能吗?
这是我期望的一个例子:
CAT3 Characteristic #1 3
CAT2 Characteristic #1 3
CAT2 Characteristic #2 4
CAT2 Characteristic #3 1
CAT3 Characteristic #3 1
#1 是第一位的,因为它的错误之和是 6,#2 是第二位,因为总和是 4,最后是 #3,因为总和是 2
提前致谢
【问题讨论】:
-
请以表格形式包含您想要查看的确切输出。
-
@TimBiegeleisen 我更新了一些解释
标签: mysql sql subquery sql-order-by aggregate-functions