SQL查询-从头开始过滤日期

时间:2018-11-13 05:23:33

标签: sql sql-server

如何编写SQL查询,以汇总前几天/前几年的金额。从一开始就喜欢。

方案我想计算商店开业当天的累计销售额。

示例

SELECT SUM(AMOUNT) 
FROM TransactionTable 
WHERE TransactionDate = ???

我的计划是查询此表并获取最旧的交易日期记录,然后在WHERE条件下使用该记录。您认为这是最好的解决方案吗?

3 个答案:

答案 0 :(得分:3)

您可以在下面使用having min(transaction)进行尝试,这将为您提供开始交易的日期

select sum (amt) from
(
  SELECT SUM(AMOUNT) as amt from TransactionTable 
  group by TransactionDate 
  having TransactionDate between min(TransactionDate) and getdate()
)A

答案 1 :(得分:2)

要计算商店开业当天的累计销售额,可以将SUMOVER子句一起使用

SELECT TransactionDate, SUM(AMOUNT) OVER (ORDER BY TransactionDate) AS AccumulatedSales
FROM TransactionTable 

答案 2 :(得分:0)

使用group by TransactionDate

SELECT convert(date,TransactionDate), SUM(AMOUNT) from TransactionTable 
group by  convert(date,TransactionDate)