mysql - 同一查询中来自同一表的 2 个不同值并按日期分组
问题描述
现在表中的输出对于总香蕉是正确的,但对于绿色香蕉,输出是每天的总产量。我希望它将每天的香蕉总数和绿色香蕉总数分组。
SELECT bananas, date,
(SELECT COUNT(bananas)
FROM banana_table
WHERE bananas = 'green')
AS green_bananas,
COUNT(bananas) AS total_bananas
FROM banana_table
GROUP BY date
解决方案
使用条件聚合:
SELECT bananas, date,
SUM( bananas = 'green' ) as green_bananas,
COUNT(bananas) AS total_bananas
FROM banana_table
GROUP BY date;
推荐阅读
- c - 何时调用 receive_buf
- vue.js - 开玩笑报道报告中“.then”上的“黄色突出显示”是什么意思?
- python - 术语命名空间和标识符之间有什么细微的区别吗?
- http - 如果服务器达到最大线程会发生什么
- salesforce - LWC 显示文件相关列表
- import - 将在线数据集导入 jupyter notebook
- c - 自由变量时如何避免libpng中的自由损坏
- java - 包含期间表名称时,它无法使用带有 CSV 加载器的 DBUnit @DatabaseSetup
- javascript - Django CBV 表单提交返回 JSON 显示为新页面
- javascript - 错误:对象作为 React 子项无效/无法在我的 div 中映射元素