douzhe9927 2018-04-27 09:33
浏览 62
已采纳

mysql选择具有相同ID的行,并按另一列的顺序选择

+-------+-----------+------------+
| id    | sequence  | text       |
+-------+-----------+------------+
| 12345 | 01        | Hello, my  | 
| 12345 | 02        | name is CJ | 
| 54321 | 01        | Good morn  | 
| 54321 | 02        | ing! Sup!  | 
+-------+-----------+------------+

I am totally lost. There are 2 messages in these rows 1) "Hello, my name is CJ" and 2) "Good morning! Sup!"

How could I display both of these messages by selecting them by IDs and with correct order(sequence)?

So the results would be

"Hello, my name is CJ"

"Good morning! Sup!"

  • 写回答

3条回答 默认 最新

  • dongshan1811 2018-04-27 09:45
    关注
    SELECT id,GROUP_CONCAT(text ORDER BY sequence  SEPARATOR ' ') AS messages
    FROM table1
    GROUP BY id;
    

    Output

    id      messages
    12345   Hello, my name is CJ
    54321   Good morning! Sup!
    

    Demo

    http://sqlfiddle.com/#!9/f38d19/5

    GROUP_CONCAT() function

    MySQL GROUP_CONCAT() function returns a string with concatenated non-NULL value from a group.

    Syntax :

    GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr}
                 [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val])
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?