1

我有两个表:
SALE(SALE_CODE,SALE_DATE)分别
SALE_ITEM(SALE_CODE,ITEM_CODE,QUANTITY,PRICE)
SALE_CODESALE_CODE,ITEM_CODE作为主键。

我想找出收入最高的销售。

如果每笔销售只包含一件商品,我只能弄清楚该怎么做

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 回答