MySQL - 在计算中使用GROUP_CONCAT值?

时间:2011-05-27 15:32:07

标签: mysql group-concat

我正在尝试创建一个查询,它会在取消其初始价值后,给我一个产品的价值。

这是我到目前为止的简化版本:

SELECT
p.price
GROUP_CONCAT(d.amount) AS discounts
FROM products p
LEFT OUTER JOIN discounts d
ON d.product_id = p.id
GROUP BY p.id

discount.amount是十进制值。

编辑:例如,如果有两个相应的折扣,分别为10和15,初始产品价格为50,那么计算将返回25

在查询中是否存在我可以执行我想要的计算?

非常感谢任何建议。

感谢。

1 个答案:

答案 0 :(得分:1)

有一个SUM()方法:

SELECT p.price,
       p.price - COALESCE(SUM(d.amount), 0) as discounted_price,
       GROUP_CONCAT(d.amount) AS discounts
FROM products p
LEFT OUTER JOIN discounts d
ON d.product_id = p.id
GROUP BY p.id