开发者社区> 问答> 正文

MaxCompute最佳实践:SQL实现多行数据转一条



本文将为您介绍,如何使用 SQL 实现多条数据压缩为一条。

场景示例


以下表数据为例:

classgendername
1MLiLei
1FHanMM
1MJim
2FKate
2MPeter


场景一


根据需求,常见场景如下:
classnames
1LiLei,HanMM,Jim
2Kate,Peter

类似这样使用某个分隔符做字符串拼接,可以使用如下语句:
  1. SELECT class, wm_concat(',', name) FROM students GROUP BY class;


场景二


另外一种常见需求,如下所示:
classcnt_mcnt_f
121
211

类似这样转多列的需求,可以使用如下语句:
  1. SELECT class
  2.      SUM(CASE WHEN gender = 'M' THEN 1 ELSE 0 END) AS cnt_m,
  3.      SUM(CASE WHEN gender = 'F' THEN 1 ELSE 0 END) AS cnt_f
  4. FROM students
  5. GROUP BY class;

展开
收起
行者武松 2017-10-24 14:38:10 2554 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Data+AI时代大数据平台应该如何建设 立即下载
大数据AI一体化的解读 立即下载
极氪大数据 Serverless 应用实践 立即下载