Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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 SQL按日期分组,日期以天为单位_Sql_Oracle - Fatal编程技术网

ORACLE SQL按日期分组,日期以天为单位

ORACLE SQL按日期分组,日期以天为单位,sql,oracle,Sql,Oracle,我正试着按一天之内的日期分组 EX:2019年2月19日和2019年2月20日将分组。对于上下文,我在GROUPBY语句中使用它。是否可以使用Datediff之类的值并使其等于1?一直在搜索,但找不到任何相关信息。这是您想要的吗 Select date-t1.date, count(*) from(Select date from table) t1 where date<>t1.date and

我正试着按一天之内的日期分组


EX:2019年2月19日和2019年2月20日将分组。对于上下文,我在GROUPBY语句中使用它。是否可以使用Datediff之类的值并使其等于1?一直在搜索,但找不到任何相关信息。

这是您想要的吗

   Select date-t1.date, 
     count(*) 
        from(Select date 
       from table) t1
         where date<>t1.date 
        and date-t1.date=1
         group by
       date-t1.date ;

如果你有开始的一天,这是可能的

在我工作的一个案例中,要求将这些日期从月开始日期开始分组

Select count(1) as cnt -- or whatever your logic is
From your_table
Group by trunc(yourdate, 'month'),
Ceil(Extract(day from yourdate)/2);
这将使团队中任何一个月的第31个月不受影响。但是是的,你19岁和20岁的约会对象会在同一组


干杯

请提供样本数据和预期结果。如果连续三天呢?对于日期x、y、z等,不能按x-y=1或y-x=1这样的关系分组,因为该关系是不可传递的。考虑日期2/18、2/19、2/20。他们都应该在一个小组里吗?但是,两个极端相隔两天,而不是一天。他们应该分成两组吗?但是中间的那一组属于哪一组呢?它不可能同时属于两者——这与group by的定义相矛盾。所以,在我们给你任何答案之前,你必须澄清你的问题。我不认为OP是这么说的。。。显然,根据他的奇怪逻辑,5月2日和3日应该是同一组。但也许不是——谁知道呢。