小太阳_lxc 2019-09-06 15:37 采纳率: 0%
浏览 2761

SQL的分组显示问题,怎么显示所有的数据?

select age,name from student group by age;
  • 上面的语句将 student 表中的数据按照 age ziduan进行分组了,返回的结果中只有每个 age 的 其中一个 name,
  • 但是我想要看到每个相同 age 的所有name,
  • 应该怎么写呢?
  • 写回答

4条回答 默认 最新

  • Letitia1208 2019-09-06 15:55
    关注

    在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

    评论

报告相同问题?