0

私は自分のデータベースに入れたデータを表示するPHP/mySQLテーブルに取り組んでおり、それをソート可能にしようとしています。データベースに2つのテーブルがあります。

テーブル「restaurant」には列があります: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 に答える