【发布时间】:2010-10-17 21:16:59
【问题描述】:
我正在尝试制作报告,但我的宿敌 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 中添加 COUNT() 并在语句末尾添加 GROUP BY”,但事实并非如此。我的猜测是因为每条记录都被视为不同的值:-S
有什么提示吗?
谢谢。
【问题讨论】:
-
@Joel:感谢您的重新标记。这真的是 PL-SQL 吗?
-
@Oscar:以这种方式使用 TRUNC() 是 Oracle 特有的。但是您在 GROUP BY 中看到的问题与供应商无关;这就是任何符合 SQL 的实现的工作原理。
标签: sql oracle plsql group-by truncate