Oracle 分段 统计 查询

xiaoxiao2022-06-14  24

已知表name_age如下: create table name_age(name varchar2(20) not null primary key,age integer); 问题:查询出各年龄段的人数 1.显示如下   10-19    5   20-29    7   30-39    2     .      .     .      .     .      . 2.显示如下   10-19    20-29      30-39  ...     5        7          2    ...

3.显示如下   11-20    5   21-30    7   31-40    2     .      .     .      .     .      .

 

 

答案:

1,select decode(trunc(age/10),0,'0-10',1,'10-19',....),count(*) num from name_age group by trunc(age/10)

2, select sum(decode(trunc(age/10),0,1,0)) '0-9',select sum(decode(trunc(age/10),1,,1,0)) '10-19', ..... from name_age

3,select decode(trunc((age-1)/10),0,'0-10',1,'11-20',....),count(*) num from name_age group by trunc((age-1)/10)

 

 

获取当前时间所在周的起始时间

select trunc(to_date('2009-04-27','yyyy-MM-dd'),'WW')  from dual;

 

转载请注明原文地址: https://www.6miu.com/read-4936516.html

最新回复(0)