1
我不確定這是否可行,但我努力在GROUP_CONCAT()
選擇中創建項目的「路徑」,而不考慮使用我知道的MIN()
做不到。MySQL GROUP_CONCAT()處理與其他值不同的第一個值
樣本數據
ID
:[1, 1, 1, 2, 2]
Number
:[1, 2, 3, 2, 3]
Leg
:[A-B, B-C, C-D, E-G, G-Z]
我想有這樣的結果的1
和2
ID
:
ID
,Path
1
,A-B-C-D
2
,E-G-Z
和我目前使用以下GROUP_CONCAT()
SELECT ID, GROUP_CONCAT(CASE WHEN Number = 1 THEN Leg ELSE RIGHT(Leg, 1) END SEPARATOR '-')
Path FROM my_table GROUP BY ID;
但這不工作時的ID
的Number
列不從1開始我非常喜歡在Number
內ID
的MIN()
啓動它,但我不能這樣做。是否有條件地做到這一點在GROUP_CONCAT()
的第一個值?
您需要窗口函數,這些函數在MySQL 8.0.2中可用。 –