select age,name from student group by age;
- 上面的语句将 student 表中的数据按照 age ziduan进行分组了,返回的结果中只有每个 age 的 其中一个 name,
- 但是我想要看到每个相同 age 的所有name,
- 应该怎么写呢?
select age,name from student group by age;
在oracle中,wm_concat()函数可以实现,下面是示例:
数据源:
YEAR YM_ID
2018 201801
2018 201802
2018 201803
2018 201804
2018 201805
2018 201806
2018 201807
2018 201808
2018 201809
2018 201810
2018 201811
2018 201812
2019 201901
2019 201902
2019 201903
2019 201904
2019 201905
2019 201906
2019 201907
2019 201908
2019 201909
2019 201910
2019 201911
2019 201912
SQL:
SELECT m.year,wm_concat(m.ym_id)
FROM dm_month m
where m.year between 2018 and 2019
group by m.year
;
结果是这样的:
2018 201801,201812,201811,201810,201809,201808,201807,201806,201805,201804,201803,201802
2019 201901,201912,201911,201910,201909,201908,201907,201906,201905,201904,201903,201902