gpt4 book ai didi

mysql - 在 GROUP_CONCAT 中使用条件

转载 作者:行者123 更新时间:2023-11-29 02:47:02 43 4
gpt4 key购买 nike

我有以下数据库:

+-------+-------------+---------+
| id | Name | Quantity|
+-------+-------------+---------+
| 1 | Anna | 0 |
| 2 | John | 5 |
| 3 | Anna | 3 |
+-------+-------------+------+

我正在使用这个查询:

SELECT name, GROUP_CONCAT(DISTINCT quatity SEPARATOR ', ')
FROM table
GROUP BY name;

结果我得到了这个:

Anna: 0, 3
John: 5

但是我想要这样的东西:

Anna: 3 (I don't want to show quantity = 0)
John: 5

我试过了,但是没用:

GROUP_CONCAT(DISTINCT 
CASE
WHEN quantity > 0 THEN name
else null
END
ORDER BY name ASC SEPARATOR ', ')

最佳答案

有人提出这个建议,但我会把它放在一个答案中:

SELECT id, name, GROUP_CONCAT(DISTINCT quantity SEPARATOR ', ')
FROM table
WHERE quantity > 0
GROUP BY id, name;

此外,您似乎有一些拼写错误,数量* 和 id* 而不是商品编号,至少根据您的表格是这样。另外,我建议将 id 和 name 都放在 select 语句和 group by 语句中。

关于mysql - 在 GROUP_CONCAT 中使用条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40730274/

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