【问题标题】:Comma separated string of selected values horizontally in MySQLMySQL中水平选择值的逗号分隔字符串
【发布时间】:2017-11-27 00:15:37
【问题描述】:

我想在 MySQL 中将选定的值水平转换为逗号分隔的字符串。

查询是:

SELECT user_a, user_b, user_c FROM tb_loterijos_laimetojai

我想要的输出看起来像这样(在一个字符串中):

Admin, Admin, Admin
Admin, Admin, Admin

我怎样才能做到这一点?

【问题讨论】:

  • 仅仅因为你可以,并不意味着你应该
  • 你能解释一下吗?
  • 我认为 Gordon 在他的最后一段中涵盖了它。
  • 哦,我明白了。不,这是正确的。 Admin 只是一个例子,每个名字都不同于 Admin :) 有 user_a、user_b 和 user_c,因为有 3 个地方可以获胜。
  • 如果有四个地方呢?会有四列吗?这是糟糕的设计。

标签: mysql string select comma


【解决方案1】:

你可以使用concat_ws():

select concat_ws(',', user_a, user_b, user_c)

请注意,具有相同引用的多个列通常是一种反模式。您可能应该有另一个表格,每个表格和每个用户都有一行。

【讨论】:

  • 谢谢,它成功了 :) 如果它是反模式有什么问题?
【解决方案2】:
SELECT CONCAT(user_a, ",", user_b, ",", user_c) FROM tb_loterijos_laimetojai

【讨论】:

  • 其实刚看到Gordon的回答就好了。
【解决方案3】:

使用concat()mysql函数

SELECT CONCAT(user_a, ",", user_b, ",", user_c) as user FROM tb_loterijos_laimetojai

【讨论】:

    猜你喜欢
    • 2013-11-02
    • 1970-01-01
    • 2020-08-12
    • 2016-09-04
    • 2011-12-23
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 2014-08-04
    相关资源
    最近更新 更多