【问题标题】:how to get duplicate column values in comma separated [duplicate]如何以逗号分隔的重复列值[重复]
【发布时间】:2014-07-31 02:49:10
【问题描述】:

我有一张这样的桌子

+----+------------+------------+---------+-----+------+------+
| id | is_deleted | sort_order | version | cid | pid  | qid  |
+----+------------+------------+---------+-----+------+------+
|  1 |            |          1 |       0 |   1 |    1 |    1 |
|  2 |            |          2 |       0 |   1 |    1 |    2 |
|  3 |            |          3 |       0 |   1 |    1 |    3 |
|  4 |            |          1 |       0 |   1 |    2 |    7 |
|  5 |            |          2 |       0 |   1 |    2 |    1 |
|  6 | ☺          |          1 |       1 |   1 |    6 |   14 |
|  7 | ☺          |          1 |       1 |   1 |    5 |   13 |
|  8 |            |          1 |       0 |   1 |    4 |   12 |
|  9 |            |          3 |       0 |   1 |    2 |    2 |
| 10 |            |          4 |       0 |   1 |    1 |    4 |
| 11 |            |          5 |       0 |   1 |    1 |    5 |
+----+------------+------------+---------+-----+------+------+

你可以看到 pid 是重复的。 是否有可能得到如下格式

pid      qid
1     1,2,3,4,5
2     7,1,2
6     14
5     13
4     12

我试过这样,但我得到的输出是

SELECT pid,GROUP_CONCAT(qid) FROM client_parent_question

------+--------------------------+
 pid  | GROUP_CONCAT(qid)        |
------+--------------------------+
    1 | 1,2,3,7,1,14,13,12,2,4,5 |
------+--------------------------+

【问题讨论】:

  • sqlfiddle.com 在我的系统中不适合我,所以我还没有为它准备小提琴
  • 在这里提问之前对问题进行基础研究是可以的。

标签: mysql sql


【解决方案1】:

您缺少分组依据

SELECT pid,GROUP_CONCAT(qid) FROM client_parent_question group by pid

【讨论】:

    【解决方案2】:

    使用GROUP BY

    SELECT pid, GROUP_CONCAT(qid)
    FROM client_parent_question
    GROUP BY pid
    

    【讨论】:

      【解决方案3】:
      SELECT pid,GROUP_CONCAT(qid) FROM client_parent_question
      Group by PID
      

      会成功的。输出将是:

      pid   |   qid
      1     |   1,2,3,4,5
      2     |   7,1,2
      6     |   14
      5     |   13
      4     |   12
      

      【讨论】:

        猜你喜欢
        • 2011-06-18
        • 2013-07-05
        • 2011-07-26
        • 2021-09-15
        • 1970-01-01
        • 2019-03-19
        • 2014-03-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多