[英]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.