您好,我不确定如何执行此查询以寻求一些指导...
输出应该是单行“2004 年总销售额”和
另一列只有一行“2005 年总销售额”。
使用 classicmodels.orders (orderNumber, OrderDate) 和 classicmodels.orderdetails(orderNumber,PriceEach)
如何将过滤子句应用于两个不同的列?
提前致谢
最佳答案
您似乎在寻找条件聚合:
SELECT
SUM(CASE WHEN YEAR(o.OrderDate) = 2004 THEN od.PriceEach ELSE 0 END) Total_Sales_for_2004,
SUM(CASE WHEN YEAR(o.OrderDate) = 2005 THEN od.PriceEach ELSE 0 END) Total_Sales_for_2005
FROM
orders o
INNER JOIN orderdetails od ON od.orderNumber = o.orderNumber
WHERE YEAR(o.OrderDate) IN (2004, 20O5)
关于MySQL Query 辅助应用过滤到两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54433116/