SQL:显示与公共ID相关的所有记录

时间:2014-05-28 10:08:11

标签: mysql

我有以下表格

    id |         title
-------+--------------------
    16 | Little Women
    16 | The Tell-Tale Heart
    16 | Practical PostgreSQL
    16 | Dynamic Anatomy
    18 | The Cat in the Hat
    18 | Dune
    20 | A Space Odyssey
    20 | Goodnight Moon
    41 | The Shining
    41 | Programming Python
    41 | Perl Cookbook

我希望输出结果如下所示:

    id |         title
-------+------------------
    16 | Little Women
       | The Tell-Tale Heart
       | Practical PostgreSQL
       | Dynamic Anatomy
    18 | The Cat in the Hat
       | Dune
    20 | A Space Odyssey
       | Goodnight Moon
    41 | The Shining
       | Programming Python
       | Perl Cookbook

使用mysql在右栏中显示与id相关的所有记录。我怎样才能做到这一点?请为我提供解决方案,我将非常感激。

3 个答案:

答案 0 :(得分:1)

试试这个

SELECT id,GROUP_CONCAT(title separator '\n') FROM mytable GROUP BY id

答案 1 :(得分:0)

这应该在您的表示层中完成,例如您的表格,报告,网页等。

SELECT id
     , title
FROM   your_table
ORDER
    BY id
     , title

然后,您的演示文稿代码可以决定是否每次都显示ID。

答案 2 :(得分:-1)

试试这个,你会得到逗号分隔的结果。

SELECT id,GROUP_CONCAT(title) FROM mytable GROUP BY id