select
ID
, MAX(case when system = 'Sys1' then 1 else 0 end) Sys1
, MAX(case when system = 'Sys2' then 1 else 0 end) Sys2
, MAX(case when system = 'Sys3' then 1 else 0 end) Sys3
, MAX(case when system = 'Sys4' then 1 else 0 end) Sys4
, ....
from table
GROUP BY ID
3条答案
按热度按时间vlju58qv1#
查询:
输出:
idsys1sys2a11b10c01型
db<>在这里摆弄
ecfdbz9o2#
如果你用的是spark,为什么不利用它的能量呢。读取Dataframe中的数据,然后使用:
df.groupBy(col("ID")).pivot(col("System")).count().na.fill(0).show()
t1rydlwq3#
如果仅限于少数系统值,则可以使用此查询: