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条)

报告相同问题?

悬赏问题

  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了