我想获得每个用户每月的总和(总收入)并显示每个事件字段。
所以我需要显示这些列

我的桌子

  order id, user, month, event, gross
       1 jack october event2 30
       2 jack november event3 20
       3 jack november event3 20
       4 jack november event2 30
       5 sam november event2 30
       6 john october event3 20


对于杰克来说,结果将是

   record1
    user = jack
    month = november
    event = event2, event3
    total = 70

    record2
    user = jack
    month = october
    event = event3
    total = 30


因此,我认为解决方案将在一个记录中串联多个事件字段。我已经看到UNION做这样的事情,在一列中创建逗号分隔的值,但是不确定如何在这里使用它。

最佳答案

我认为您正在寻找GROUP_CONCAT()

这样的事情会起作用:

SELECT user, month, GROUP_CONCAT(event), SUM(gross)
FROM xyz
GROUP BY month

关于mysql - 在一条记录sql中串联多个字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23202764/

10-13 08:49