如何根据MySQL中不同的列值合并行

时间:2019-09-14 14:00:19

标签: mysql sql database

这是我在这里的第一篇文章。

我的问题是,当时间戳(仅基于日期Y-m-d),item_condition和equipment_spare_id相同时,如何合并行。然后是GROUP_CONCAT备注和序列号。

在这种情况下,它应该有2行。

谢谢。

image

2 个答案:

答案 0 :(得分:1)

您似乎想要group by。您不清楚结果集应该是什么样子,但想法是:

select date(timestamp) as dte, item_condition, equipment_spare_id,
       count(*)
from t
group by dte, item_condition, equipment_spare_id;

答案 1 :(得分:1)

您可以按以下方式使用GROUP BYGROUP_CONCAT

SELECT 
    date(timestamp) as dte, 
    item_condition, 
    equipment_spare_id,
    GROUP_CONCAT(remark) all_remarks,
    GROUP_CONCAT(serial_number) all_serials
FROM mytable
GROUP BY 
    date(timestamp), 
    item_condition, 
    equipment_spare_id