我想对条形图实施SQL查询,该条形图显示最近10天每天的交易量。例如,我有这个表结构:
CREATE TABLE `payment_transactions` (
`id` int(11) NOT NULL,
`amount` int(11) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
);
我需要得到以下示例结果(每天分组):
Date | Amount| Number of transactions per day |
11-11-2018 | 30 | 3 |
11-12-2018 | 230 | 13 |
如何使用MariaDB实施此操作?
答案 0 :(得分:3)
您只需要从日期中切除时间部分并按此分组:
SELECT DATE(created_at) AS Date, SUM(amount) AS Total_Amount, COUNT(*) AS Num_Transactions
FROM t
GROUP BY DATE(created_at)
要将结果限制为持续10天,请使用以下where子句:
-- 10 days including today
WHERE created_at >= CURRENT_DATE - INTERVAL 9 DAY
AND created_at < CURRENT_DATE + INTERVAL 1 DAY
-- 10 days excluding today
WHERE created_at >= CURRENT_DATE - INTERVAL 10 DAY
AND created_at < CURRENT_DATE
-- 10 days from current time
WHERE created_at > CURRENT_TIMESTAMP - INTERVAL 10 DAY
AND created_at <= CURRENT_TIMESTAMP
答案 1 :(得分:2)
您可以在下面尝试
select date(created_at) as cdate, sum(amount) as amount,count(id) as
nooftransaction
from payment_transactions
where date(created_at)>=date(now()- interval 10 day) and date(created_at)<date(now())
group by date(created_at)