将 concat 和 sum 与左连接 mysql 分组

Posted

技术标签:

【中文标题】将 concat 和 sum 与左连接 mysql 分组【英文标题】:group concat and sum with left join my sql 【发布时间】:2015-12-11 19:41:21 【问题描述】:

我有 3 张桌子

订单 (id,package_id,rooms)

orders_date (id,order_id,date)

(id,package_name)

在 orders_date 表中,我有多个相同订单的行

我想要的结果如下

date(with group_concat) package_name rooms(sum of rooms.. as we will 按包 id 分组)

感谢您的帮助。

谢谢

【问题讨论】:

SELECT o.package_id,GROUP_CONCAT(od.confirmed_date) AS confirm_date,p.package_name,SUM(o.rooms) AS 房间 FROM tbl_orders o LEFT JOIN tbl_order_dates od ON o.id=od.order_id LEFT JOIN tbl_holiday_packages p ON p.id=o.package_id WHERE o.flag='0' GROUP BY o.package_id 谁能解决这个问题?? 【参考方案1】:

如果有人需要,我找到了解决方案。 以下是查询

SELECT package_id,rooms,GROUP_CONCAT(od.`confirmed_date`),package_name
FROM 
(
    SELECT o.id,o.package_id,SUM(o.rooms) AS rooms,o.flag,h.`package_name` 
    FROM tbl_orders o 
    LEFT JOIN `tbl_holiday_packages` h ON o.`package_id`=h.`id` 
    GROUP BY o.package_id

) o
LEFT JOIN 
tbl_order_dates od ON o.id=od.`order_id`
WHERE o.flag='0'
GROUP BY o.package_id

【讨论】:

以上是关于将 concat 和 sum 与左连接 mysql 分组的主要内容,如果未能解决你的问题,请参考以下文章

这个查询不好吗? MySql 一对多与左连接和嵌套查询

右连接与左连接

MySQL 索引优化与子查询与左连接

如何在 MySql 的 CONCAT 和 SUM VALUES 中使用 GROUP_CONCAT

内连接与左外链接的区别

当两个数据框都包含重复键时,如何将两个熊猫数据框与左连接合并?