关于订单类型(买/卖)的大多数订单的SQL查询?

FIL*_*IaS 1 mysql sql sum sql-order-by

我的订单有以下表格:

订单:order_no(密钥),ISBN,数量,类型

ISBN:书籍代码, 数量:客户订购的书籍数量: 类型:购买或退货

我的目标是找到销量最多书(ISBN).这意味着我必须找到书籍的销售情况,但也要考虑它们的回报.

例如:购买3本ISBN 1010的书籍,购买5本ISBN 2020书籍,返回3本ISBN 2020书籍

畅销书:ISBN:1010

我尝试使用此查询:

"SELECT 
    ISBN, SUM( quantity ) as sum
FROM 
    orders
GROUP BY 
    ISBN
ORDER BY
    sum DESC"
Run Code Online (Sandbox Code Playgroud)

但显然这是假的.

有什么好主意吗?

Bas*_*nni 6

SELECT ISBN, SUM(CASE WHEN type = 'return' THEN -1 * quantity ELSE quantity END) as sum
FROM orders
GROUP BY ISBN
ORDER BY sum DESC
Run Code Online (Sandbox Code Playgroud)