MySQL Query 辅助应用过滤到两列

标签 mysql sql

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

输出应该是单行“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/

相关文章:

java - 数据库查询错误

MySql - 选择UTC格式的时间戳列

sql - SQL复制与空值

sql - 我的用例能否在不影响性能的情况下合并到单个查询中?

sql - 自加入的目的

sql - Gsql在构造查询时未执行

mysql - MySQL 中何时使用单引号、双引号和反引号

php - 在 php 中获取错误的 IP 地址

php - Group-Concat 和 GROUP BY 的问题

mysql - Redshift 中的 REGEXP_REPLACE