SQl查询用于对具有相同ID但具有相同日期字段的不同值的多行进行压缩

时间:2018-07-13 09:46:54

标签: mysql sql

我有一个包含以下数据字段的数据库:-

chkey    chvalue        updatetime          unit_id
ch1       27            7/11/2018 1:08          35
ch2       89            7/12/2018 1:08          35
ch1       26            7/13/2018 2:08          46
ch2       77            7/14/2018 2:08          46
ch1       24            7/15/2018 3:08          47
ch2       77            7/16/2018 3:08          47
ch1       28            7/11/2018 6:18          35
ch2       86            7/12/2018 6:18          35
ch1       27            7/11/2018 7:18          35
ch2       86            7/12/2018 7:18          35
ch1       27            7/11/2018 9:18          48
ch2       86            7/12/2018 9:18          48
ch3       23            7/11/2018 9:18          48
ch4       99            7/12/2018 9:18          48
.....

我想要的是用于生成如下结果的查询:-

对于unit_id = 35

     updatetime         ch1     ch2     unit_id
    7/11/2018 1:08       27      89      35
    7/11/2018 6:18       28      86      35
    7/11/2018 7:18       27      86      35

对于unit_id = 46

      updatetime        ch1     ch2     unit_id
    7/11/2018 2:08       27      77      46

对于unit_id = 47

     updatetime         ch1     ch2     unit_id
    7/11/2018 3:08       24      77      47

对于unit_id = 48

      updatetime        ch1     ch2     ch3    ch4    unit_id
    7/11/2018 9:18       27      86     23     99         48

注意:对于任何unit_id,chkey最多可以为ch1 .... ch64,它可以是任何带有ch5的单元,依此类推。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用PIVOT选项吗?Pivot a Table in MySQL