0
如何將Group_Concat()結果分成不同的列?我不想在用逗號分隔的同一個單元格中顯示它。分割MySQL的輸出Group_Concat()
如何將Group_Concat()結果分成不同的列?我不想在用逗號分隔的同一個單元格中顯示它。分割MySQL的輸出Group_Concat()
如果知道分隔符,您可以使用SUBSTRING_INDEX兩次後將其包裝在subquery
中。
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 3), '.', -1)
FROM (
SELECT GROUP_CONCAT(...) AS SomeColumn
FROM ...
) AS SomeTable
SUBSTRING_INDEX
從獲取字符串第一 - >ÑSUBSTRING_INDEX
去除第一串 - > N - 1檢查這個SQLFiddle示例
就你而言,如果你知道數列,您的查詢看起來是這樣的(假設你用逗號隔開5串):
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 1), '.', -1)
, SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 2), '.', -1)
, SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 3), '.', -1)
, SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 4), '.', -1)
, SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 5), '.', -1)
FROM (
SELECT GROUP_CONCAT(...) AS SomeColumn
FROM ...
) AS SomeTable
這樣做有什麼建議從字面上看,命名爆炸逗號分隔的字符串,是一堆工作在MySQL中。實際上,您要查找的是數據透視查詢,您可以在其中創建列以容納CSV內容。你能向我們展示一張樣品桌,以便我們更好地瞭解你的想法? –