我有以下数据库:
+-------+-------------+---------+
| id | Name | Quantity|
+-------+-------------+---------+
| 1 | Anna | 0 |
| 2 | John | 5 |
| 3 | Anna | 3 |
+-------+-------------+------+
我正在使用此查询:
SELECT name, GROUP_CONCAT(DISTINCT quatity SEPARATOR ', ')
FROM table
GROUP BY name;
结果我得到了这个:
安娜:0,3
约翰:5
但是我想要这样的事情:
安娜:3(我不想显示数量= 0)
约翰: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语句中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句