これが可能かどうかわかりませんが、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]
私はID
の1
と2
ため、このような結果を持っているしたいと思います:
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で利用可能なウィンドウ関数が必要です。 –