[英]SQL Query to get the Sum of all column values in the last row of a resultset along with row sum (group by)
[英]How to get all values of a certain row in a “group by” in SQL?
我想让我的查询显示出报告最多的条目(哪些有效)以及给出的所有原因(哪些无效)。 通过当前查询,我只能得到一个原因,而不是所有原因。 (我尝试过函数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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.