首页 文章

Oracle,按日期计算不同的项目

提问于
浏览
1

我需要按字段1按日期计算按上次更新时间分组的项目数 . 我要找的是field1中的一个项目在过去30天的特定日期出现的次数,其中字段2 = 0.这将每天运行,因此日期将滚动 . Field1将是一个> 0的数字,field2将是任何数字(负数和正数),last_upd_time将是上次更新发生时的系统时间 . 我不需要时间,只需要约会 . 我当前返回所有数据的查询是:

select field1, field2, trunc(last_upd_time)
from table 
where field2 = '0' and last_upd_time >= SYSDATE - 30

我试图使用count,group by和group by / having . 不是说我正确使用它们,但我确实尝试过 .

1 回答

  • 1

    试试这个:

    SELECT TO_CHAR(last_upd_time,'DD-MM-YYYY') last_upd_time, COUNT(DISTINCT field1)
    FROM table WHERE field2='0' AND
    last_upd_time>=SYSDATE - INTERVAL '30' DAY
    GROUP BY TO_CHAR(last_upd_time,'DD-MM-YYYY');
    

相关问题