我正在处理一个 PHP/mySQL 表,该表显示我已放入数据库的数据,并且我正在尝试使其可排序。我的数据库中有两个表:
表“餐厅”有列:ID 和名称
表“item”有列:ID、name 和 restaurantID(restaurantID 设置为使用“restaurant”表中的 ID)
我想要做的是按照他们的 ID 在项目表中出现的次数对餐馆进行排序。我确信必须有一个简单的方法来做到这一点,只是一直无法弄清楚。任何帮助将不胜感激!
尝试这个...
select r.name, count(i.ID)
from restaurant r
left join item i on i.restaurantID = r.ID
group by r.name
order by count(i.ID) desc
我相信你可以通过使用如下查询来做到这一点;
SELECT restaurant.*, COUNT(items.id) AS item_id FROM restaurants, items WHERE restaurant.id = items.restaurant_id ORDER BY item_id ASC;
您可能知道,也可以按多列排序;
SELECT restaurant.*, COUNT(items.id) AS item_id FROM restaurants, items WHERE restaurant.id = items.restaurant_id ORDER BY item_id ASC, restaurant.`name` DESC;