gpt4 book ai didi

mysql - 如何将一行分配到不同的行中,并按其具有的值和创建日期分组?

转载 作者:行者123 更新时间:2023-11-29 10:07:37 26 4
gpt4 key购买 nike

我有一个由 resultnamecreated_at 组成的表,如下所示:

id | name | result | created_at
1 | Sam | 1 | 2018-07-12 05:08:04
2 | Tam | 1 | 2018-07-12 06:08:04
3 | Qam | 0 | 2018-07-12 07:08:04
4 | Yam | 1 | 2018-09-12 04:08:04
5 | Xam | 0 | 2018-09-12 06:08:04
6 | Lam | 0 | 2018-11-12 07:08:04

(1 代表通过,0 代表失败)我想按创建日期对数据进行分组,该日期在单独的列中显示结果成功或失败的计数,例如:

 fail | pass   | created_at
0 | 2 | 2018-07-12 05:08:04
1 | 1 | 2018-09-12 04:08:04
1 | 0 | 2018-11-12 07:08:04

我可以使用此查询计算刚刚通过或失败的值:select count(result) from call_history where result = 1 GROUP BY DATE(created_at),但无法提供 double 不同行的 where 子句。

最佳答案

您可以使用 case 表达式仅针对成功/失败返回非 null 结果,然后使用 count,这会跳过 nulls:

SELECT   COUNT(CASE result WHEN 0 THEN 1 END) AS fail,
COUNT(CASE result WHEN 1 THEN 1 END) AS pass,
created_at
FROM call_history
GROUP BY created_at

关于mysql - 如何将一行分配到不同的行中,并按其具有的值和创建日期分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51587222/

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