1

私は 2 つのテーブルを持っています: と主
SALE(SALE_CODE,SALE_DATE)キーとしてそれぞれ。
SALE_ITEM(SALE_CODE,ITEM_CODE,QUANTITY,PRICE)
SALE_CODESALE_CODE,ITEM_CODE

一番収入が多い販売を知りたいです。

各セールに 1 つのアイテムしか含まれていない場合にのみ、その方法を理解できます。

SELECT SALE_CODE,PRICE*QUANTITY 
FROM SALE_ITEM
WHERE PRICE*QUANTITY =(SELECT MAX(PRICE*QUANTITY)                                       
FROM SALE_ITEM);

しかし、SALE_ITEM テーブルに SALE_CODE が同じで ITEM_CODE が異なる複数のレコードがある場合、どうすればよいかわかりません。

4

1 に答える 1

3
select sale_code, sum(price * quantity)
    from sale_item
    group by sale_code
    order by sum(price * quantity) desc
    limit 1;

SQLFiddle の例はこちら。

于 2013-06-06T11:21:15.557 に答える