我目前有一个结构如下的数据库:
Time | Label | Reading | Units
13:50 | A1 | 20.45 | V
13:50 | A1 | 20.33 | W
13:50 | A2 | 8.55 | V
13:50 | A2 | 8.67 | W
我想做的是将Units列分为V列和W列,并按Label分组,但我无法使其正常工作。我必须使用数据透视功能吗?
我希望表格看起来像什么
Time | Label | V | W
13:50 | A1 | 20.45 | 20.33
13:50 | A2 | 8.55 | 8.67
答案 0 :(得分:1)
您需要条件聚合:
select time, label,
max(case when Units = 'V' then reading end) as V,
max(case when Units = 'W' then reading end) as W
from table t
group by time, label;