Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
Sql Oracle分组依据和日期精度_Sql_Oracle_Date_Group By - Fatal编程技术网

Sql Oracle分组依据和日期精度

Sql Oracle分组依据和日期精度,sql,oracle,date,group-by,Sql,Oracle,Date,Group By,我有一个包含两个日期字段的表:BEGIN\u date和END\u date 当我减去这两个字段时,我会得到一个以天为单位的数字。 我想要以秒为单位的这个数字,因为这两个字段之间的差异非常小(~1s)所以我继续做: SELECT ROUND(AVG((END_DATE-BEGIN_DATE)*3600*24),2) AS DELTA, TO_CHAR(BEGIN_DATE, 'yyyy-mm-dd hh24:mi:ss') AS DEB, TO_CHAR(END_D

我有一个包含两个日期字段的表:
BEGIN\u date
END\u date

当我减去这两个字段时,我会得到一个以天为单位的数字。
我想要以秒为单位的这个数字,因为这两个字段之间的差异非常小(~1s)
所以我继续做:

SELECT ROUND(AVG((END_DATE-BEGIN_DATE)*3600*24),2) AS DELTA,
       TO_CHAR(BEGIN_DATE, 'yyyy-mm-dd hh24:mi:ss') AS DEB, 
       TO_CHAR(END_DATE, 'yyyy-mm-dd hh24:mi:ss') AS FIN
FROM MYTABLE
GROUP BY TO_CHAR(BEGIN_DATE, 'yyyy-mm-dd hh24:mi:ss'), 
         TO_CHAR(END_DATE, 'yyyy-mm-dd hh24:mi:ss');
以下是结果(与分组时间的精度相同):


好。
然后,如果我按小时对结果进行分组,或按天对结果进行分组:

SELECT ROUND(AVG((END_DATE-BEGIN_DATE)*3600*24),2) AS DELTA,
       TO_CHAR(BEGIN_DATE, 'yyyy-mm-dd hh24') AS DEB, 
       TO_CHAR(END_DATE, 'yyyy-mm-dd hh24') AS FIN
FROM MYTABLE
GROUP BY TO_CHAR(BEGIN_DATE, 'yyyy-mm-dd hh24'), 
         TO_CHAR(END_DATE, 'yyyy-mm-dd hh24');
我得到了这个结果:

DELTA
精度更好,我不明白为什么!

有人能给我解释一下吗?

我的错,别说了,问题相对简单

浮动结果由以下公式给出:总和(增量)/计数(分组行)。

因此,如果我在2015-11-02 19得到20个值。
其中9个值等于1,其余值等于0。
我们得到了9/20=0.45,这绝对符合逻辑。 我刚核实过


无论如何,谢谢你抽出时间。

我的错,别说了,问题相对简单

浮动结果由以下公式给出:总和(增量)/计数(分组行)。

因此,如果我在2015-11-02 19得到20个值。
其中9个值等于1,其余值等于0。
我们得到了9/20=0.45,这绝对符合逻辑。 我刚核实过


无论如何,感谢您抽出时间。

因为0和1的平均值是0.5?如果从SELECT中删除Deb和Fin列,该行为是否会继续?另外,nls_date_format参数的默认值是什么?因为0和1的平均值是0.5?如果从SELECT中删除列Deb和Fin,该行为是否继续?另外,nls_date_format参数的默认值是什么?