把tags字段按值转换成列,统计相同tags下的wathtime的合计数,还要按学员区分。
最终效果是:
| loginid | tags1 | tags2 | tags3 |
| gf10075 | watchtime合计| watchtime合计 | watchtime合计 |
| gf10074 | watchtime合计| watchtime合计 | watchtime合计 |
| gf10073 | watchtime合计| watchtime合计 | watchtime合计 |
sql 怎么写呢?
用case when子句统计
select loginid,sum(case when tags=1 then watchtimem else 0 end) as tags1,
sum(case when tags=2 then watchtimem else 0 end) as tags2,
sum(case when tags=3 then watchtimem else 0 end) as tags3
from table
group by loginid