MYSQL使用相同的第一部分主键在同一个表中搜索多个记录

时间:2013-06-06 11:17:39

标签: mysql sql

我有两张桌子:
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,我不知道该怎么做

1 个答案:

答案 0 :(得分:3)

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

SQLFiddle example here.