17,082
社区成员
发帖
与我相关
我的任务
分享
select to_char(trunc(abs(personcount-1)/10))||'0-'||to_char(trunc(abs(personcount-1)/10)+1)||'0' as fenduan,
sum(personcount) as sum_per,
count(distinct riqi) as tianshu
from tb_name
group by to_char(trunc(abs(personcount-1)/10))||'0-'||to_char(trunc(abs(personcount-1)/10)+1)||'0'
select to_char(trunc((111-1)/10))||'0-'||to_char(trunc((111-1)/10)+1)||'0' as fenduan,
sum(personcount) as sum_per,
count(distinct riqi) as tianshu
from tb_name
group by to_char(trunc((111-1)/10))||'0-'||to_char(trunc((111-1)/10)+1)||'0'
select (personcount-1)/10 as fenduan,
sum(personcount) as sum_per,
count(distinct riqi) as tianshu
from tb_name
group by (personcount-1)/10
with t as (
select 11 as personcount,to_date('2011-01-01','yyyy-mm-dd') As datetime from dual
union all
select 22 as personcount,to_date('2011-01-03','yyyy-mm-dd') As datetime from dual
union all
select 2 as personcount,to_date('2011-01-04','yyyy-mm-dd') As datetime from dual
union all
select 5 as personcount,to_date('2011-01-05','yyyy-mm-dd') As datetime from dual
)
select case when personcount >=0 And personcount <10 then '0-10'
when personcount >=10 And personcount <20 then '10-20'
when personcount >=20 And personcount <30 then '20-30' end as 分段,
sum(personcount) 总人数,count(distinct datetime) as 总天数
from t
group by case when personcount >=0 And personcount <10 then '0-10'
when personcount >=10 And personcount <20 then '10-20'
when personcount >=20 And personcount <30 then '20-30' end