我想要在MYSQL中的分隔符之間得到每個不同的字符串值。我嘗試使用函數SUBSTRING_INDEX,它適用於第一個字符串和第一個字符串的延續,但不是第二個字符串。這裏就是我的意思:MYSQL SUBSTRING_INDEX提取列中的每個不同的字符串
Table x The result
SELECT SUBSTRING_INDEX(path, ':', 2) as p, sum(count) as N From x Group by p UNION
SELECT SUBSTRING_INDEX(path, ':', 3) as p, sum(count) From x Group by p UNION
SELECT SUBSTRING_INDEX(path, ':', 4) as p, sum(count) From x Group by p UNION
SELECT SUBSTRING_INDEX(path, ':', 5) as p, sum(count) From x Group by p UNION
SELECT SUBSTRING_INDEX(path, ':', 6) as p, sum(count) From x Group by p;
我試着在查詢中加入SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(path, ':', 2), ':', 2) as p, sum(count) From x Group by p UNION SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(path, ':', 4), ':', 2) as p, sum(count) From x Group by p
,但結果還是一樣。我所試圖做的就是不僅字符串的結果A1,A2,A3的組合,而且還串B2,C2,D2爲第一串取像見下表:
+---------------+----+
| p | N |
+---------------+----+
| :A1 | 4 |
| ... | ...|
| :B1 | 3 |
| :B1:C2 | 2 |
|... | ...|
+---------------+----+
什麼是正確的函數來得到這樣的結果?任何幫助表示讚賞,謝謝。
[SQL拆分值到多行(的可能的複製http://stackoverflow.com/questions/17942508/sql-split-values-to-multiple-行) –
沒有路徑開始於:B1,你能否澄清這個輸出 – amdixon
@RyanVincent會檢查它。 –