gpt4 book ai didi

每个日期/时间有多个组的MySQL查询计数

转载 作者:行者123 更新时间:2023-11-29 12:22:53 24 4
gpt4 key购买 nike

我在 MySQL 表中有以下数据:

+-------------------------------------+-----------------+
| DATE | SipResponseCode |
+-------------------------------------+-----------------+
| 20 Feb | 200 |
| 20 Feb | 500 |
| 20 Feb | 200 |
| 20 Feb | 200 |
| 20 Feb | 487 |
| 20 Feb | 200 |
| 20 Feb | 200 |
| 20 Feb | 500 |
| 20 Feb | 500 |
| 20 Feb | 487 |
| 20 Feb | 200 |
| 20 Feb | 200 |
| 20 Feb | 200 |
| 20 Feb | 500 |
| 20 Feb | 200 |
| 20 Feb | 200 |
| 20 Feb | 200 |
| 20 Feb | 200 |
| 20 Feb | 200 |
| 20 Feb | 500 |
| 21 Feb | 200 |
| 21 Feb | 487 |
| 21 Feb | 200 |
| 21 Feb | 487 |
| 21 Feb | 487 |
| 21 Feb | 487 |
| 21 Feb | 487 |
| 21 Feb | 200 |
| 21 Feb | 200 |
| 21 Feb | 487 |
| 21 Feb | 487 |
| 21 Feb | 500 |

我想编写 SQL 查询,以便它可以提供每天的 SipResponseCode 计数 200487500

+-------------------------------------+------------+-----------+--------+
| DATE | 200 | 487 | 500 |
+-------------------------------------+------------+--------------------+
| 20 Feb | 14 | 2 | 5 |
| 21 Feb | 4 | 7 | 1 |

我很累,但无法得到正确的结果。

最佳答案

如果值 200、487 和 500 是您在编写查询时知道的常量值,则可以在 select 子句的 case 语句中使用这些值。

比 case 语句更具可读性的是使用带有条件的 SUM() 函数,该函数本质上会计算满足该条件的行数。试试这个:

SELECT dateColumn, 
SUM(SisResponseCode = 200) AS '200',
SUM(SisResponseCode = 487) AS '487',
SUM(SisResponseCode = 500) AS '500'
FROM myTable
GROUP BY dateColumn;

关于每个日期/时间有多个组的MySQL查询计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28771350/

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