0


私は3つのテーブルを持っています

買い手

buyer_id | name
50       |Joe
60       |Astor
70       |Cloe

アイテム

item_id | description
1       | iphone
2       | ipod
3       | imac

Item_Sold

buyer_id | item_id
50       | 1
50       | 2
60       | 1
60       | 3
70       | 1
70       | 2
70       | 3

ベストセラー商品の説明を知りたいのですが、この場合は次のようになります。

Best-Selling
iphone
4

4 に答える 4

2
SELECT description AS Best_Selling
FROM item
WHERE item_id = (SELECT item_id FROM( SELECT item_id ,COUNT(*) as num_items
                                      FROM Item_Sold
                                      GROUP BY item_id
                                      ORDER BY num_items DESC
                                      LIMIT 1
                                     )z
                 )

SQL フィドルを参照してください

この答えは完全には正しくありません。2 つのアイテムの販売額が同じ場合は、そのうちの 1 つだけが返されます。

于 2013-06-05T03:50:26.317 に答える
0
select description as "Best-Selling" 
from (select a.item_id, b.description, count(*) count 
      from Item_Sold a,Items b
      where a.item_id = b.item_id
      group by a.item_id ) temp
where count = (select max(count) 
               from (select a.item_id, count(*) count 
                      from Item_Sold a,Items b
                      where a.item_id = b.item_id
                      group by a.item_id ) temp1)
于 2013-06-05T04:20:38.757 に答える