3

我正在尝试制作报告,但我的宿敌 SQL 出现问题。

我有一张表,其中存储了交易的结束日期。

我想知道每月有多少笔交易,所以我做了:

SELECT trunct( closedate, 'MONTH' ) FROM  MY_TRANSACTIONS 

我正在使用甲骨文。

我得到一个这样的列表:

2002-09-01 00:00:00.0
2002-09-01 00:00:00.0
...
2002-10-01 00:00:00.0
2002-10-01 00:00:00.0
...
2002-11-01 00:00:00.0
2002-11-01 00:00:00.0

等等

所以我想“如果我在应该做的语句末尾的 select 和 GROUP BY 中添加一个 COUNT( )”,但事实并非如此。我的猜测是因为每条记录都被视为不同的值:-S

请问有什么提示吗?

谢谢。

4

1 回答 1

11

您想按所有非聚合字段进行分组。而且你不想截断日期,你想要日期的月份部分。

所以像

select to_char(datefield, 'Month'), count(*) from ... group by to_char(datefield, 'Month');

于 2009-04-06T19:00:08.140 回答