【问题标题】:I need single sql query fetch the result as mentioned output我需要单个 sql 查询来获取上述输出的结果
【发布时间】:2015-03-27 11:30:01
【问题描述】:
id  case    list
1   case1   list1
2   case1   list2
3   case1   list3
4   case2   list4
5   case2   list5
6   case3   list6

我需要的输出

1 case1 list1/list2/list3
2 case2 list4/list5
3 case3 list6

【问题讨论】:

  • 没有问题我可以回答抱歉;)
  • 我已经在标题中提到了这个问题。我需要一个获取输出的查询,就像我在“我需要的输出”一节中提到的那样。
  • group_concat,还是类似的?
  • @jarlh group_concat 为我工作。非常感谢。

标签: mysql sql


【解决方案1】:

您可以使用 SQL 生成您的输出,您需要根据案例对列表进行分组,因此请尝试:

  SELECT  `the_case` , GROUP_CONCAT( DISTINCT  `the_list` 
  SEPARATOR  '/' ) AS  `list` 
  FROM mytable
  GROUP BY  `the_case` 
  LIMIT 0 , 30

阅读更多关于GROUP_CONCAT

【讨论】:

    【解决方案2】:

    您可以通过GROUP_CONCAT 实现此目的。

    Read more about GROUP_CONCAT here.

    查询

    SELECT `case`,
    GROUP_CONCAT(DISTINCT `list` SEPARATOR '/') as `list`
    FROM tbl_name
    GROUP BY `case`;
    

    Fiddle demo

    【讨论】:

    • 如果解决了您的问题,请将其标记为答案
    猜你喜欢
    • 2019-10-05
    • 2020-09-27
    • 2019-06-13
    • 2012-07-21
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多