【问题标题】:mysql query to get data corresponding to duplicate recordsmysql查询获取重复记录对应的数据
【发布时间】:2015-03-14 17:06:19
【问题描述】:

这是一个表名 test1

id  Roll Rank Grade
1    10   50   A
2    20   60   B
3    30   40   X
4    20   50   A
5    30   90   O
6    10   80   C

想要以下格式的结果:

id  Roll   Rank    Grade
1    10   50,80     A,C
2    20   60,80     B,A
3    30   40,90     X,O

【问题讨论】:

    标签: mysql sql select group-by group-concat


    【解决方案1】:

    这样就可以了:

    SELECT id, Roll, GROUP_CONCAT(Rank), GROUP_CONCAT(Grade)
    FROM your_table
    GROUP BY Roll
    HAVING COUNT(*) > 1
    

    【讨论】:

    • 非常感谢您的快速回复......效果很好...... :)
    【解决方案2】:

    试试这个:

    SELECT A.id, A.Roll, 
           GROUP_CONCAT(A.Rank ORDER BY A.id) AS Rank, 
           GROUP_CONCAT(A.Grade ORDER BY A.id) AS Grade
    FROM test1 A 
    GROUP BY A.Roll
    ORDER BY A.Roll;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      • 2017-12-24
      相关资源
      最近更新 更多