分组并显示当月的结果

时间:2012-11-10 23:56:02

标签: oracle plsql

我有一张表格如下

Reading (ReadingNo Int, Readdate Date, ReaderID Int)

我需要显示每个读者在当月读取的读数的结果。

我尝试了以下内容:

Select Count(*), to_char(Trunc(ReadDate,'mm'),'Month') Month
From Reading
Group By trunc (ReadDate,'mm');

结果=每月完成的阅读次数和

Select COUNT(*), ReaderID
From Reading
Group By ReaderID;

结果=读者完成的阅读次数

但是我需要查询可以嵌套这个2语句,以便为我提供每个读者在当月完成阅读次数的结果。

1 个答案:

答案 0 :(得分:0)

应该如此简单:

Select Count(*), ReaderID, to_char(Trunc(ReadDate,'mm'),'Month') Month
From Reading
Group By  ReaderID, trunc (ReadDate,'mm');

结果=读者每月完成的阅读次数

或者如果您想要特定读者的过滤器,只需要当前月份,您可以使用

Select Count(*)
From Reading
Where ReaderID = READER's CODE
AND Trunc(ReadDate,'mm') = Trunc(Sysdate,'mm')

结果= ONE Reader本月完成的阅读次数