oracle实现按天,周,月,季度,年查询排序方法

59次阅读
没有评论

共计 2407 个字符,预计需要花费 7 分钟才能阅读完成。

天 –to_char(t.start_time,’YYYY-MM-DD’)
周 –to_char(t.start_time,’YYYY’),to_char(t.start_time,’IW’)
月度 –to_char(t.start_time,’YYYY-MM’)
季度 –to_char(t.start_time,’YYYY’),to_char(t.start_time,’Q’)
年度 –to_char(t.start_time,’YYYY’)

按天查询

select to_char(t.start_time,'YYYY-MM-DD') day ,count(*) from test t 
where to_char(t.start_time,'YYYY')='2019' -- 条件限制
group by to_char(t.start_time,'YYYY-MM-DD') -- 分组
order by to_char(t.start_time,'YYYY-MM-DD') -- 排序 

按周查询

select to_char(t.start_time,'YYYY') year ,to_char(t.start_time,'IW'),count(*) from test t 
where to_char(t.start_time,'YYYY')='2019' -- 条件限制
group by to_char(t.start_time,'YYYY') year ,to_char(t.start_time,'IW')-- 分组
order by to_char(t.start_time,'YYYY') year,to_char(t.start_time,'IW') -- 排序 

按月度查询

select to_char(t.start_time,'YYYY-MM') ,count(*) from test t 
where to_char(t.start_time,'YYYY')='2019' -- 条件限制
group by to_char(t.start_time,'YYYY-MM') -- 分组
order byto_char(t.start_time,'YYYY-MM') -- 排序 

按季度查询

select to_char(t.start_time,'YYYY') year ,to_char(t.start_time,'Q'),count(*) from test t 
where to_char(t.start_time,'YYYY')='2019' -- 条件限制
group by to_char(t.start_time,'YYYY') ,to_char(t.start_time,'Q')-- 分组
order byto_char(t.start_time,'YYYY') ,to_char(t.start_time,'Q')-- 排序 

按年度查询

select to_char(t.start_time,'YYYY') year ,count(*) from test t 
where to_char(t.start_time,'YYYY')='2019' -- 条件限制
group by to_char(t.start_time,'YYYY') -- 分组
order by to_char(t.start_time,'YYYY') -- 排序 

知识点扩展:oracle 实现按天, 周, 月, 季度, 年查询统计数据

这里提供了一种方法,挺不错 oracle 实现按周, 月, 季度, 年查询统计数据。

还在网上看到用 trunc 来搞也可以,下面是个例子,两句 SQL 效果一样的.

id 有重复的,所以 group by 搞了两个字段.

只在 Oracle 数据库里试过,其它库没试过。

create table CONSUMER_ACC 
 ID VARCHAR2(50) not null , 
 ACC_NUM VARCHAR2(10), 
 DATETIME DATE 
 select t.id,trunc(t.datetime, 'mm') as d, sum (t.acc_num) as n 
 from CONSUMER_ACC t 
 --where 
 group by t.id,trunc(t.datetime, 'mm') 
 order by n desc ; 
 select t.id,to_char(t.datetime, 'mm') d , sum (t.acc_num) n 
 from CONSUMER_ACC t 
 --where 
 group by t.id,to_char(t.datetime, 'mm') 
 order by n desc 
------------------------------------------------------------------------------
// 按天统计 
select count(dataid) as 每天操作数量, sum() 
from 
where 
group by trunc(createtime, 'DD')) 
// 按自然周统计 
select to_char(date,'iw'),sum() 
from 
where 
group by to_char(date,'iw') 
// 按自然月统计 
select to_char(date,'mm'),sum() 
from 
where 
group by to_char(date,'mm') 
// 按季统计 
select to_char(date,'q'),sum() 
from 
where 
group by to_char(date,'q') 
// 按年统计 
select to_char(date,'yyyy'),sum() 
from 
where 
group by to_char(date,'yyyy')

总结

以上所述是丸趣 TV 小编给大家介绍的 oracle 实现按天,周,月,季度,年查询排序方法, 希望对大家有所帮助,如果大家有任何疑问请给我留言,丸趣 TV 小编会及时回复大家的。在此也非常感谢大家对丸趣 TV 网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计2407字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)