【问题标题】:union a column in database合并数据库中的列
【发布时间】:2018-09-14 21:24:13
【问题描述】:

我有一个字典数据库。 它有 3 列。

ID , word ,meaning
  • 1 = 景观 = 意义1
  • 2 = 景观 = 意义2
  • 3 = 景观 = 意义3
  • 4 = 景观 = 意义4
  • 5 = 景观 = 意义5
  • 6 = 光泽 = mean1
  • 7 = 光泽 = mean2
  • 8 = 光泽 = mean3
  • 9 = 光泽 = mean4

我怎样才能把这些词的意思结合起来:

  • 1 = 景观 = 意义 1,意义 2,意义 3,意义 4,意义 5
  • 2 = 景观 = mean1,mean2,mean3,mean4

【问题讨论】:

  • 你的意思是:2 光泽 mean1,mean2,mean3,mean4
  • 您使用的是 MySQL 还是 MS Access?答案不会一样。
  • 考虑处理应用代码中数据显示的问题
  • 感谢您的帮助。
  • GROUP_CONCAT 对 ms 访问不起作用

标签: mysql sql database ms-access


【解决方案1】:

你可以GROUP BY它为

SELECT id, word, GROUP_CONCAT(meaning ORDER BY meaning)
FROM tbl_name
GROUP BY word

对于大量值,GROUP_CONCAT 将从末尾截断值。要处理这个问题,请在执行查询之前设置 group concat max len

SET SESSION GROUP_CONCAT_MAX_LEN=1000000

【讨论】:

    【解决方案2】:

    您正在寻找GROUP_CONCAT 函数:

    SELECT
        word,
        GROUP_CONCAT(meaning ORDER BY meaning)
    FROM yourTable
    GROUP BY
         word;
    

    Demo

    【讨论】:

      猜你喜欢
      • 2013-07-05
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      • 2013-01-08
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多