gpt4 book ai didi

mysql - MySQL 中的情况与计数

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

我在 MySQL 上执行此查询时遇到问题。

如果尝试过这个版本:

mysql>  SELECT
COUNT(*),
myCode,
myState
FROM
`tbl_2016`
WHERE
`myCode` LIKE '%XI10-2-020012%'
GROUP BY
`myState`;

输出是:

+----------+---------------+--------------------------------+
| COUNT(*) | myCode | myState |
+----------+---------------+--------------------------------+
| 5 | XI10-2-020012 | NULL |
| 4 | XI10-2-020012 | ACTIVE |
| 1 | XI10-2-020012 | NOT ACTIVE |
+----------+---------------+--------------------------------+
2 rows in set

但是如果尝试使用 CASE WHEN 语法的其他版本:

mysql> SELECT
myCode,
COUNT(
CASE
WHEN myState IN (
'Active'
) THEN
1
ELSE
0
END
) AS `Active`,
COUNT(
CASE
WHEN myState IN (
'Not Active'
) THEN
1
ELSE
0
END
) AS `Not Active`
FROM
`tbl_2016`
WHERE
`myCode` LIKE '%XI10-2-020012%'
GROUP BY
`myState`;

输出与第一个版本不同:

+---------------+--------+------------+
| myCode | Active | Not Active |
+---------------+--------+------------+
| XI10-2-020012 | 4 | 4 |
+---------------+--------+------------+
1 row in set

如何解决这个问题?

你能帮我吗?

预先感谢您,我的代码如下。

最佳答案

在第二个版本中使用 SUM 而不是 COUNT

关于mysql - MySQL 中的情况与计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41758454/

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