我有两张桌子:
大学 (id) 和 users_colleges (user_id, college_id)
我想选择当前用户没有的所有大学 (user_id != @current_user) 按 user_colleges 表中的匹配数排序,即使它是 0。
我正在尝试但没有成功:
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),并且它还返回用户已经拥有的大学。