関連するプロパティを持つ 3 つの関連する SQL テーブルを次に示します。
- プロパティを持つ OrderType
ID
- RestaurantVisit、プロパティ
OrderTypeID
とRestaurantID
- レストラン、プロパティ付き
ID
注文タイプ (ドリンク、サイド、アントレなど) が与えられた場合、以前にその注文タイプを注文したことのあるすべてのレストランを、そのタイプの注文が最も多いレストラン順に並べ替える必要があります。
たとえば、 type が与えられた場合、 r1 はすべてのレストランの中で最も注文数の多いレストラン、 2 番目に注文数の多いレストランside
などを返します。r1, r2, r3
side
r2
これは私がこれまでに持っているものです (OrderTypeID は既に与えられていることを思い出してください):
SELECT DISTINCT r.ID
FROM Restaurant r
JOIN RestaurantVisit rv
ON rv.OrderTypeID = ?
WHERE rv.ID = r.ID
これは現在、指定されたタイプの注文を受けたすべてのレストランを返すように機能します。私が今しなければならないことは、特定のタイプの注文が最も多いレストランでこれらを注文することです。
私が考えているのは、このようなものをどこかに追加することですが、まったくわかりません:
ORDER BY COUNT(rv.OrderTypeID = ?)
誰にもアイデアはありますか?ありがとう!