繁体   English   中英

SQL-计算最近7天的金额

[英]Sql - Calculate amount for last 7 days

我正在尝试编写sql,我可以在每个DATE使用groupBy返回每天的金额。

我的字段是amount和transaction_date,我的sql是:

select id,    
Amount as amount,    
transactionDate as transaction_date      
from transaction    
WHERE transactionDate IN (SELECT DISTINCT TOP 7 transactionDate from transaction
order by transactionDate)

因此,我的sql语法是错误的,我无法弄清楚下一步该怎么做。

使用汇总和分组

select transactionDate     
sum(Amount) as amount,    
from transaction  
where transactionDate>=cast(now()-INTERVAL -7 DAY as date) and transactionDate<cast(now() as date)
group by transactionDate 

尝试以下方式

select date(transactionDate) as transaction_date  
sum(Amount) as amount           
from transaction    
WHERE date(transactionDate)>=  DATE_ADD(current_date(),INTERVAL -7 DAY)
group by date(transactionDate)

顺便说一句Top是sql server关键字不适用于mysql

谢谢大家,您为我提供了一条可以走的路。 我找到了解决方案。 非常感谢。

 SELECT
 DATE(transaction_date) AS TransactionDate, SUM(amount) AS Amount
 FROM transaction
 WHERE type = 'spend'
 AND transaction_date>=  DATE_ADD(NOW(), INTERVAL -7 DAY)
 GROUP BY TransactionDate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM