我正在开发一个PHP / mySQL表,显示我已放入数据库的数据,并且我试图让它可以排序。我的数据库中有两个表:
表"餐厅"有列:ID和名称
表"项目"有列:ID,名称和restaurantID(restaurantID设置为使用"餐厅"表中的ID)
我想要做的是按照其ID显示在项目表中的次数对餐馆进行排序。我确信必须有一个简单的方法来做到这一点,只是没有能够解决这个问题。任何帮助将不胜感激!
答案 0 :(得分:1)
试试这个......
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
答案 1 :(得分:0)
我相信你可以通过使用如下的查询来实现;
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;