包含两行相同id的查询

628mspwn  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(358)

我有一张table的结构像this:-

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

我想要的是一个查询来生成一个类似this:-

updatetime          ch1     ch2     unit_id
    7/11/2018 1:08       27      89      35
    7/11/2018 2:08       26      77      46
    7/11/2018 3:08       24      77      47

注:对于任何单元id,chkey可高达ch1….ch64。

s8vozzvw

s8vozzvw1#

只需使用条件聚合:

select min(updatetime),
       max(case when chkey = 'ch1' then chvalue end) as ch1,
       max(case when chkey = 'ch2' then chvalue end) as ch2,
       unit_id
from t
group by unit_id;

您只需为每个表达式再添加62个表达式 chkey .

相关问题