0

我正在处理一个 PHP/mySQL 表,该表显示我已放入数据库的数据,并且我正在尝试使其可排序。我的数据库中有两个表:

表“餐厅”有列:ID 和名称

表“item”有列:ID、name 和 restaurantID(restaurantID 设置为使用“restaurant”表中的 ID)

我想要做的是按照他们的 ID 在项目表中出现的次数对餐馆进行排序。我确信必须有一个简单的方法来做到这一点,只是一直无法弄清楚。任何帮助将不胜感激!

4

2 回答 2

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
于 2013-03-09T21:11:23.983 回答
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;
于 2013-03-09T21:10:07.823 回答