gpt4 book ai didi

mysql - SQL中如何获取 "group by"中某一行的所有值?

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:35 24 4
gpt4 key购买 nike

我希望我的查询显示哪些条目被报告最多(哪些有效)以及给出的所有原因(哪些无效)。在我当前的查询中,我只得到一个原因,而不是所有原因。 (我尝试了函数 concat_ws(),但它似乎不是正确的)。有人可以帮忙吗?

SELECT `entries`.`id`, count(`reports`.`id`) AS `amount`, 
concat_ws(', ',`reports`.`reason`) AS `reasons`
FROM `entries`
CROSS JOIN `reports` ON (`entries`.`id` = `reports`.`entry_id`)
GROUP BY `entries`.`id` ORDER BY `amount` DESC

最佳答案

你应该使用 GROUP_CONCAT聚合函数:

SELECT
`entries`.`id`,
count(`reports`.`id`) AS `amount`,
group_concat(`reports`.`reason` SEPARATOR ', ') AS `reasons`
FROM
`entries` CROSS JOIN `reports`
ON (`entries`.`id` = `reports`.`entry_id`)
GROUP BY
`entries`.`id` ORDER BY `amount` DESC

关于mysql - SQL中如何获取 "group by"中某一行的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14703213/

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