我有一个表,其结构如下:-
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
我想要的是用于生成如下结果的查询:-
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
注意::对于任何unit_id,chkey最多可以为ch1 .... ch64。
答案 0 :(得分:0)
只需使用条件聚合:
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;
您只需为每个chkey
添加62个表达式。