私は2つのテーブルを持っています:
colleges (id) と users_colleges (user_id, college_id)
現在のユーザーが持っていないすべての大学を選択したい (user_id != @current_user) 0 であっても、user_colleges テーブルの一致数で並べ替えます。
私が成功していないこと:
SELECT b.id, COUNT(b.id) AS count
FROM (`users_colleges` AS a)
RIGHT JOIN `colleges` AS b ON `b`.`id` = `a`.`college_id`
GROUP BY `b`.`id`
ORDER BY COUNT(b.id) DESC
これは、正しい方法で注文されたすべての大学を返しています。問題は、カウントが一致しない大学が 1 を返し (0 である必要があります)、ユーザーが既に持っている大学も返すことです。