将单独的 Where 子句应用于单独的列 (SQL)

Applying Separate Where Clauses to Separate Columns (SQL)

是否可以按照这些思路以简单的方式做一些事情。我知道这没有意义,但这是我想尝试做的事情:

SELECT 
   SUM(T.SALES) WHERE T.YEAR = '2018'
,  SUM(T.SALES) WHERE T.YEAR = '2019'    
FROM TABLE1 AS T

我想到的比较长的方法是:

SELECT
  (SELECT SUM(T.SALES) FROM TABLE1 AS T WHERE T.YEAR = '2018') AS "2018 TOTAL SALES"
 ,(SELECT SUM(T.SALES) FROM TABLE1 AS T WHERE T.YEAR = '2019') AS "2019 TOTAL SALES"

但这并没有真正的意义。它在 MySQL 中执行我希望它执行的操作,但它不是标准化方法。任何对此的帮助都会很棒。

我基本上想要返回 2 列(总销售额),但每一列都有自己单独的过滤器(按年份过滤,一个按 2018 年过滤,另一个按 2019 年过滤),如果这可以在简单的方法。

是的,你可以用条件数:

SELECT   
, SUM(case when T.YEAR = '2018' then T.SALES end) "2018 TOTAL SALES"
, SUM(case when T.YEAR = '2019' then T.SALES end) "2019 TOTAL SALES"
FROM TABLE1 AS T