MySQL 查询帮助将筛选应用于两列



您好,我不确定如何进行此查询以寻求一些指导...

输出应为包含单行"2004 年总销售额"的列,并且
另一列包含单行"2005 年总销售额"。

使用 classicmodels.orders (orderNumber, OrderDate)和经典型号.订单详情(订单号,价格每个)

如何将筛选子句应用于两个不同的列?

提前致谢

您似乎正在寻找条件聚合:

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)

最新更新