【问题标题】:mysql - Return all items in one row [duplicate]mysql - 返回一行中的所有项目[重复]
【发布时间】:2018-05-07 23:55:51
【问题描述】:

mysql中是否有一个函数可以只返回一行中的所有项目?

示例:

Table:

| id | name |
-------------
| 1  | john |
| 2  | mike |
| 3  | jane |

查询:

SELECT concat_name(name) FROM tbl_name

concat_name 作为函数。

预期结果:

|       name      |
-------------------
| john, mike, jane|

【问题讨论】:

    标签: mysql


    【解决方案1】:

    使用group_concat():

    select group_concat(name order by id separator ',') as name
    from table;
    

    【讨论】:

      【解决方案2】:

      使用GROUP_CONCAT函数

      http://dev.mysql.com/tech-resources/articles/4.1/grab-bag.html

      SELEct m.meal_Id, 
              GROUP_CONCAT(dish_id) dish_ids, 
              GROUP_CONCAT(dish_name) dish_names
       FROM DISH_HAS_DISHES m JOIN DISH d ON (m.dish_id = d.dish_id)
       GROUP BY meal_Id
      

      【讨论】:

      • 感谢@Harshil 格式化ans。我用手机给了ans,所以我无法格式化。
      • 不用担心。顺便说一句,您的答案中提到的链接没有重定向到文档。
      猜你喜欢
      • 2020-11-02
      • 2013-03-05
      • 2012-03-23
      • 2020-06-08
      • 2013-09-22
      • 2017-03-30
      • 2018-09-22
      • 2022-01-15
      相关资源
      最近更新 更多