需要在 Oracle 上按日期计算记录和分组计数

1 oracle-10g count oracle-sql-developer group-by

我有一张像下面这样的表

   ID                created    sent    type
-----------------------------------------------------
0001463583000051783  31-JUL-12  1   270
0081289563000051788  01-AUG-12  1   270
0081289563000051792  01-AUG-12  1   270
0081289563000051791  01-AUG-12  1   270
0081289563000051806  01-AUG-12  1   270
0001421999000051824  06-AUG-12  1   270
0001421999000051826  06-AUG-12  1   270
0001464485000051828  06-AUG-12  1   270
0082162128000051862  09-AUG-12  2   278
0082162128000051861  09-AUG-12  2   278
0022409222082910259  09-AUG-12  3   278
Run Code Online (Sandbox Code Playgroud)

我想有以下输出

created     Count
---------------------
31-JUL-12   1
01-AUG-12   4
06-AUG-12   3
09-AUG-12   3
Run Code Online (Sandbox Code Playgroud)

在 Oracle 10g 上使用 SQL Developer 实现这一目标有多难?

我尝试了几个查询来生成这样一个表,最后它没有按日期对计数进行分组,当我们每天平均 5000-10000 笔交易时,它只是给我一个“1”的计数。我可能把它复杂化了。但我想要一些简单的东西,我可以在一个日期范围内每天提取交易量。

Tar*_*ryn 8

除非我遗漏了什么,否则您的查询将是这样的:

select created, count(*) CreatedCount
from yourtable
group by created
order by created;
Run Code Online (Sandbox Code Playgroud)

参见SQL Fiddle with Demo

或者,如果您有与日期相关联的时间,则可以使用TRUNC

select trunc(created), count(*) CreatedCount
from yourtable
group by trunc(created)
order by trunc(created);
Run Code Online (Sandbox Code Playgroud)

参见SQL Fiddle with Demo

  • 我猜“创建”日期也有时间部分,某种形式的“截断”将有助于 OP。 (2认同)