如果我有一個值顯示列值的兩倍
col1
=====
1
1
1
5
5
5
5
7
7
我想COL1(即1,5,)的所有不同值的MySQL表和一個SELECT語句獲取輸出如下:
1~1
5~5
7~7
我該怎麼做?
如果我有一個值顯示列值的兩倍
col1
=====
1
1
1
5
5
5
5
7
7
我想COL1(即1,5,)的所有不同值的MySQL表和一個SELECT語句獲取輸出如下:
1~1
5~5
7~7
我該怎麼做?
這裏的查詢:
使用分離器~
在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;
下面是一個使用子查詢的選項:
SELECT CONCAT(t.value, '~', t.value)
FROM
(
SELECT DISTINCT col1 AS value
FROM yourTable
) t
按照下面的運行演示的鏈接:
如果存在兩個以上相同的值,該怎麼辦?那麼你的輸出是什麼? – 1000111
@ 1000111:我改述我的問題,以表明我真正想要的是什麼?謝謝你提醒我。 –
兩個答案都會給你你想要的東西,困惑在哪裏?你甚至嘗試過擺弄小提琴嗎? –