2
別の列でGROUP_CONCAT-ed列を注文する方法があるのだろうかと思っていました。ここに私の例です:GROUP_CONCAT列を注文する(MySQL)
テーブル
ユーザー
id | name
----+------------
0 | John Smith
users_majors
user_id | major_id | order
--------+----------+-------
0 | 2 | 1
0 | 1 | 0
専攻
id | name
----+-------------
0 | Biology
1 | Chemistry
2 | Engineering
予想通り、私は、この結果セットを受け取る
SELECT `users`.*, GROUP_CONCAT(DISTINCT `majors`.name) AS major, GROUP_CONCAT(DISTINCT `users_majors`.order) AS major_order
FROM `users`
LEFT JOIN users_majors ON (users_majors.user_id = users.id)
LEFT JOIN majors ON (majors.id = users_majors.major_id)
GROUP BY users.id
:ここ
そしては私のクエリです
id | name | major | major_order
---+-------------+-----------------------+-------------
0 | John Smith | Engineering,Chemistry | 1,0
私は自動的に並べ替えることが「主要な」列を持っているやりたいです」私はその列を削除して、結果セットを次のようにします:
id | name | major
---+-------------+-----------------------
0 | John Smith | Chemistry,Engineering
何か提案がありますか?
パーフェクト!ありがとう! – Steve