如果我有一个带值的MySql表
col1
=====
1
1
1
5
5
5
5
7
7
我想得到col1的所有不同值(即1,5,)并使用一个SELECT语句获得输出,如下所示:
1~1
5~5
7~7
我该怎么做?
答案 0 :(得分:3)
以下是查询:
在~
函数中使用分隔符GROUP_CONCAT
。
查询#1用例场景:如果您想要将col1
值与潮汐(~
)分开,只有相应的值在整个表格中具有相同的值时。
查询#1 :
SELECT
GROUP_CONCAT(col1 SEPARATOR '~') output
FROM scotttable
GROUP BY col1;
注意:它适用于任意数量的相同值。
查询#2用例场景:仅当您需要distinct col1
值时,无论它们是否存在相应的相同值,都存在。
查询#2 :
SELECT
CONCAT(col1,'~',col1) output
FROM scotttable
GROUP BY col1;
答案 1 :(得分:3)
以下是使用子查询的选项:
SELECT CONCAT(t.value, '~', t.value)
FROM
(
SELECT DISTINCT col1 AS value
FROM yourTable
) t
请按照以下链接查看正在运行的演示: