我有一个名为emp1
. 有一个名为 的表tx_feeder
。我想从该表中获取行数。
我使用以下查询来获取单日数据,
select count (*) from tx_feeder
where datum between (select sysdate -31 from dual) and (select sysdate -1 from dual);
SQL> 3455890
Run Code Online (Sandbox Code Playgroud)
它将给出整个月的计数。但是,我不想获得整个月的计数,而是希望通过单个 SQL 查询获得如下所示的输出,即一个月中每天的总计数。
sysdate -31 = 11190
sysdate -30 = 13390
sysdate -29 = 65790
sysdate -28 = 44390
........
sysdate -1 = 14590
Run Code Online (Sandbox Code Playgroud)
该 SQL 方言来自 Oracle,但此答案适用于 MySQL。
如果数据是 DATE
select count (*),datum date from tx_feeder
where datum between (CURDATE() - INTERVAL 31 DAY)
and (CURDATE() - INTERVAL 1 DAY)
group by datum;
Run Code Online (Sandbox Code Playgroud)
如果数据是 DATETIME 或 TIMESTAMP
select count (*),DATE(datum) date from tx_feeder
where datum between (CURDATE() - INTERVAL 31 DAY)
and (CURDATE() - INTERVAL 1 DAY)
group by DATE(datum);
Run Code Online (Sandbox Code Playgroud)
如果您正在寻找要包括的总计,请执行 WITH ROLLUP
select count (*),datum date from tx_feeder
where datum between (CURDATE() - INTERVAL 31 DAY)
and (CURDATE() - INTERVAL 1 DAY)
group by datum WITH ROLLUP;
Run Code Online (Sandbox Code Playgroud)
或者
select count (*),DATE(datum) date from tx_feeder
where datum between (CURDATE() - INTERVAL 31 DAY)
and (CURDATE() - INTERVAL 1 DAY)
group by DATE(datum) WITH ROLLUP;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
55365 次 |
最近记录: |