gpt4 book ai didi

sql - 在一个查询中聚合分组结果集中的所有单个列 : is it possible?

转载 作者:行者123 更新时间:2023-12-01 00:16:12 30 4
gpt4 key购买 nike

目前我有以下 MySQL 查询:

SELECT 
COUNT(*) AS `count`,
`v`.`value`
FROM `client_entity_int` AS `v`
INNER JOIN `client_entity` AS `e`
ON e.id = v.entity_id
WHERE (v.attribute_id = '1') AND (e.deleted = 0)
GROUP BY `v`.`value`

返回以下内容:

+-------+-------+
| count | value |
+-------+-------+
| 9 | 0 |
| 11 | 1 |
+-------+-------+

我希望它返回的是上面的内容,包括显示在上述查询中找到的所有 entity_id 的逗号分隔聚合的列。

这在同一个查询中是否可行,如果可行,如何实现?示例:

+-------+------------------+
| count | value | entities |
+-------+-------+----------|
| 9 | 0 | 1,2,3,4 |
| 11 | 1 | |
+-------+-------+----------|

最佳答案

使用:

  SELECT COUNT(*) 'count', 
v.value,
GROUP_CONCAT(DISTINCT v.entity_id ORDER BY v.entityid ASC SEPARATOR ',') 'entities'
FROM client_entity_int AS v
JOIN client_entity AS e ON e.id = v.entity_id
WHERE v.attribute_id = '1'
AND e.deleted = 0
GROUP BY v.value

引用:GROUP_CONCAT

您只需要为 MySQL 关键字使用反引号。

关于sql - 在一个查询中聚合分组结果集中的所有单个列 : is it possible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1953997/

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