【发布时间】:2015-02-11 15:01:41
【问题描述】:
我正在尝试获取每小时创建的记录数,但在将结果正确分组时遇到了麻烦。这个想法类似于:How to count number of records per day?
但是,我用于分组依据的字段是一个日期时间字段,它记录到秒。这似乎给 Group By 语句造成了问题,因为当查询返回时,在指定的时间段内每一秒都有一行,这是太多的数据,会使我想要对结果做的工作更多比实际需要的困难(如果没有其他原因,一张 Excel 工作表上的行数太多)。
我当前的代码是:
SELECT ASD, Count(ASD) Num_CR
From DB_Name.Table_Name fcr
Where trunc(fcr.ASD) > to_Char('31-DEC-2014')
And trunc(fcr.ASD) < to_Char('31-JAN-2015')
And fcr.Status_Code = 'C'
Group By ASD
Order By ASD;
我尝试将 Group By 更改为 trunc(ASD),但这会导致 Toad 抛出此错误:ORA-00979: not a GROUP BY expression。
提前致谢!
【问题讨论】:
-
当您将
trunc()添加到分组中时.. 您也必须在select和order by中执行相同操作.. 按照逻辑,您只能选择和订购,您可以选择什么分组..