SQL组按“日期”问题

时间:2009-04-06 18:58:34

标签: sql oracle plsql group-by truncate

我正在尝试撰写报告但我的archi nemesis SQL存在问题。

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

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

SELECT trunct( closedate, 'MONTH' ) FROM  MY_TRANSACTIONS 

我正在使用oracle。

我得到一个这样的列表:

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

请提示吗?

感谢。

1 个答案:

答案 0 :(得分:11)

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

类似

选择to_char(datefield,'Month'),从...组中计算(*)to_char(datefield,'Month');