作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 GROUP BY 生成表的摘要,但我想添加一个列,该列的值与原始表中的条件匹配。我要检查的条件是 style = 2,以便结果中显示文件名与该样式匹配的新列。
这就是原始表格的样子:
category | value | style | filename
A | 8 | 0 | AAA
B | 4 | 2 | BBB
B | 6 | 1 | CCC
A | 3 | 2 | DDD
A | 6 | 1 | EEE
C | 7 | 2 | FFF
B | 5 | 1 | GGG
A | 3 | 1 | HHH
这就是我想要的:
category | total_value | filename
A | 20 | DDD
B | 15 | BBB
C | 7 | FFF
我尝试了这个查询,但选择的文件名是 MINIMUM,而不是匹配 style = 2 的文件名:
SELECT category, SUM(value) AS total_value, MIN(filename) AS filename FROM data GROUP BY category;
最佳答案
如果我理解正确,你需要这个:
SELECT category, SUM(value) AS total_value,
MIN(case when style = 2 then filename end) AS filename
FROM data GROUP BY category;
关于mysql - 如何向 GROUP BY 的结果添加一个额外的列,其值与条件匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56361385/
我是一名优秀的程序员,十分优秀!