我的表格中有一个名为Notenum的列,每个新插入都会增加1。它在过去几年有大约200万条记录。在Oracle中的特定范围内选择月份和年份
我想知道在一段时间内notenum列增加了多少(基本上是一个平均值)。我不一定需要从查询中获取平均值。我很好,只是得到一个数字并逐年逐月地逐个绘制出来。
比方说,我想知道多少增加,在过去6个月,2年,等...
这里是我试图运行查询,但我得到了以下错误:ORA-00933 :Sql命令未正确结束。这是PL/SQL
SELECT TO_CHAR(systemts, 'mm') Month, TO_CHAR(systemts, 'yyyy') YEAR, notenum
FROM nsa_fl.polnote
WHERE systemts
BETWEEN to_date('01/01/2013', 'mm-dd-yyyy')
AND to_date('01/01/2014', 'mm-dd-yyyy')
GROUP BY TO_CHAR(systemts, 'mm') Month, TO_CHAR(systemts, 'yyyy') YEAR, notenum
我通过这个How to group by each day in PL/SQL?阅读,但我只得到尽可能这一点。
感谢您的帮助。
戈登,我认为这是我正在寻找的东西,但我得到这个错误:“从关键字不在预期的地方”。 –
列别名是'yyyy-mm'而不是'yyyymm'。 –
嗨,戈登,我有一个疑问,如果缺少一些notenum(s),它会给出正确的结果吗?例如,2014年1月份,最大记录数是1000,最小记录数是900,而删除记录数981到990的记录被删除 - 在这个记录中,2014年1月有90个记录,但你查询的结果是100 。纠正我,如果我错了。 – San