Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
记录计数和记录计数平均值查询-Oracle_Oracle - Fatal编程技术网

记录计数和记录计数平均值查询-Oracle

记录计数和记录计数平均值查询-Oracle,oracle,Oracle,输出如下: 年度->月份->产品名称->年度记录总数->年度记录平均数 我的查询返回全年的总数和平均数,我还希望按月份进行细分: SELECT PRODUCT_ID,PRODUCT_NAME,EXTRACT(YEAR FROM DATE), COUNT(ID) AS TOTAL_COUNT,COUNT(ID)/COUNT(DISTINCT(EXTRACT(DATE))) AS AVG_NO_RECORDS FROM TABLE GROUP BY PRODUCT_ID,PRODUCT_NAME

输出如下:

年度->月份->产品名称->年度记录总数->年度记录平均数

我的查询返回全年的总数和平均数,我还希望按月份进行细分:

SELECT PRODUCT_ID,PRODUCT_NAME,EXTRACT(YEAR FROM DATE), COUNT(ID) AS TOTAL_COUNT,COUNT(ID)/COUNT(DISTINCT(EXTRACT(DATE))) AS AVG_NO_RECORDS
FROM TABLE
GROUP  BY  PRODUCT_ID,PRODUCT_NAME,EXTRACT(YEAR  FROM DATE)

除了在这个示例查询中使用了大量无效内容(
table
是无效的表名,
date
是无效的列名,其中一个
extract
s是错误的)之外,您还可以使用
对日期列使用所需的格式掩码(例如
mm
)进行字符化,并按它进行分组。大概是这样的:

SELECT PRODUCT_ID,
       PRODUCT_NAME,
       EXTRACT(YEAR FROM DATE), 
       -- 
       to_char(date, 'mm') as month,   --> this ...
       --
       COUNT(ID) AS TOTAL_COUNT,
       COUNT(ID)/COUNT(DISTINCT(EXTRACT(DATE))) AS AVG_NO_RECORDS
FROM TABLE
GROUP  BY  PRODUCT_ID,
           PRODUCT_NAME,
           EXTRACT(YEAR  FROM DATE),
           to_char(date, 'mm')         --> ... and this

另一方面,如果您已经按照年份和月份进行分组,请查看是否可以使用单个列进行分组,例如
to_char(date_column,'mm.yyyy')

您好,欢迎使用SO。请共享您的表结构、输入记录和预期输出。请查收