gpt4 book ai didi

mysql - 如何使用 2 个表创建具有 2 个计数的组?

转载 作者:行者123 更新时间:2023-11-29 01:48:20 24 4
gpt4 key购买 nike

如果我能在这里得到一些建议,那就太好了。我正在尝试使用来自 2 个表的信息创建具有 2 个不同计数的 GROUP BY。我设法创建了一个 GROUP BY,它只有我想要的两个计数之一,但被困在那里。感谢您的帮助!

Table_1 
ID | Date | Error_code
101| 01/11/19 | A
102| 01/11/19 | B
103| 02/11/19 | A
104| 03/11/19 | A

Table_2
ID | Status_code
101| 1
102| 2
103| 1
104| 1

最终我试图实现这个特定的结果:

date     | error_code | count_status_code_1 | count_status_code_2 
01/11/19 | A | 1 | 1
02/11/19 | A | 0 | 0
03/11/19 | A | 1 | 0

这是我到目前为止得到的:

SELECT date, 
error_code,
Count(*) AS count_status_code_1
FROM table_1
JOIN table_2
ON table_1.id = table_2.id
WHERE error_code = 'A'
AND status_code = 1
GROUP BY date,
error_code
ORDER BY date ASC;

我应该如何修改代码以添加第二个计数列?

提前致谢!

最佳答案

使用条件聚合:

select date, error_code, 
sum(case when Status_code =1 then 1 else 0 end) as count_status_code_1,
sum(case when Status_code =2 then 1 else 0 end) as count_status_code_2
from table_1 t1
join table_2 t2
on t1.id = t2.id
where error_code = 'A'
group by date, error_code
order by date;

关于mysql - 如何使用 2 个表创建具有 2 个计数的组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58957854/

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