我有一个包含消息的 mysql 表。每条消息在系统中都有其当前状态的状态。我们想要生成比较打开消息与其他消息的图表。我正在尝试创建一个如下所示的 JSON 响应:
Roofing: [
open: 12,
others: 24
],
Building: [
open: 4,
others: 32
]
mysql数据库是这样的
+---+------------+---------+
|ID | Industry | Status |
+---+------------+---------+
| 1 | Building | Sent |
| 2 | Building | Review |
| 3 | Building | Open |
| 4 | Roofing | Sent |
| 5 | Roofing | Review |
| 6 | Roofing | Open |
+---+------------+---------+
已发送和审阅都属于其他
我需要一种方法来计算 open 和其他值的所有值,然后将其放在 JSON 中。
提前感谢您的帮助。
最佳答案
COUNT 的一个经常被忽视的特性是它实际上只计算 NON null 值
SELECT industry,
COUNT(CASE WHEN Status ='Open' THEN 1 ELSE NULL END) as open_count,
COUNT(CASE WHEN Status !='Open' THEN 1 ELSE NULL END) as other_count
FROM Table1 GROUP BY industry
关于javascript - 对表值进行分组并将其他值相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41739330/