SQL选择多个总和?

9 sql t-sql sql-server

假设我有一张桌子:

SELECT  SUM(quantity) AS items_sold_since_date,
        product_ID
FROM    Sales
WHERE order_date >= '01/01/09'
GROUP BY product_ID
Run Code Online (Sandbox Code Playgroud)

这将返回自特定日期以来销售数量的产品列表.有没有办法不仅选择这个总和,而且还有一个没有where条件的总和?我希望看到每个产品的特定日期以及所有(非日期限制)销售的销售额.

Joe*_*orn 25

SELECT  SUM(CASE WHEN order_date >= '01/01/09' THEN quantity ELSE 0 END) AS items_sold_since_date,
        SUM(quantity) AS items_sold_total,
        product_ID
FROM    Sales
GROUP BY product_ID
Run Code Online (Sandbox Code Playgroud)

  • 如果可以的话,我会投票20次.只是通过你的例子重构了我的查询,并且与我以前的解决方案相比,性能提高了大约五倍= D thx! (2认同)