バンドルされた製品 (各バンドルはテーブル内の単一のアイテム) のリストを、販売された個々のコンポーネント (同じテーブル内の各単一のアイテム) の合計数に基づいてランク付けしたいと考えています。
したがって、同じテーブルに主要なアイテムとそれに関連するコンポーネントの両方を含む製品のテーブルがあります。コンポーネントをメイン アイテムまたはコンポーネントとして識別する列 (main='1' または main='0') と、コンポーネントをメイン アイテムの行 ID (master_id='xxx') に関連付ける列があります。また、販売数を追跡する列もあります (列は sold_count と呼ばれます)。
しかし、各主要品目に関連するすべてのコンポーネントの sold_count の合計数によって、主要品目の結果のクエリをソートするにはどうすればよいでしょうか?
SELECT Item_Name FROM 'products' WHERE main='1' ORDER BY _______________ ???
テーブル構造は次のとおりです。
ID | Item_Name | Main | Master_ID | Sold_Count
1 Kit A 1 0 0
2 Widget A1 0 1 3
3 Widget A2 0 1 6
4 Kit B 1 0 0
5 Widget B1 0 4 2
6 Widget B2 0 4 8
したがって、関連するウィジェットの販売数に基づいて、キット A とキット B を並べ替えたいと思います。したがって、並べ替えは次のようになります。
- キットB
- キットA
キット B には 10 個のウィジェット コンポーネントが販売されていましたが、キット A には合計で 9 個しかありませんでした。