【发布时间】:2013-01-17 16:13:15
【问题描述】:
我正在尝试对以下查询返回的结果进行 GROUP_CONCAT:
SELECT
CONCAT(p.product_name, " (", SUM(bp.quantity), ")") AS products
FROM product p
INNER JOIN booking_products bp ON p.product_id = bp.product_id
GROUP BY p.product_id
此查询返回以下内容:
------------
| products |
------------
Shampoo (3)
Advil (1)
Dry Shampoo (4)
Cepacol (5)
当我尝试运行下面的查询时,我收到一个错误:“#1111 - 组函数的无效使用”。这有什么问题?
SELECT
GROUP_CONCAT(
CONCAT(p.product_name, " (", SUM(bp.quantity), ")")
SEPARATOR ", "
) AS products
FROM product p
INNER JOIN booking_products bp ON p.product_id = bp.product_i
GROUP BY p.product_id
当然应该返回:
Shampoo (3), Advil (1), Dry Shampoo (4), Cepacol (5)
感谢您的帮助。
【问题讨论】:
-
Afaik,Oracle 是少数支持嵌套聚合函数的 RDBMS 系统之一。 MySQL没有,所以
SUM()里面GROUP_CONCAT()是无效的。
标签: mysql concat group-concat