中易网

oracle 查询公司的人数,以及在1980-1987年之间,每年雇用的人数,结果类似下面的格式

答案:4  悬赏:50  
解决时间 2021-01-10 06:02
oracle 查询公司的人数,以及在1980-1987年之间,每年雇用的人数,结果类似下面的格式
最佳答案
其实你想说的,就是一个行列转换的问题,目前来说,行列转换有几种普遍的方法,像DECODE函数,case when等等,至于用哪种,看个人习惯了,下面简单说一下:

decode转换行列比较常用,像你的问题,可以这样:
SELECt COUNT(*) AS "TOTAL",
SUM(DECODE(YEAR,'1987',1,0)) AS "1987",
SUM(DECODE(YEAR,'1988',1,0)) AS "1988",
SUM(DECODE(YEAR,'1989',1,0)) AS "1989"
FROM ORCL;
--DECODE函数,意思是,YEAR字段如果是1987,那么返回1,否则返回0,然后用sum函数进行统计,这样就能统计每一年有多少人。当然,case when也能起到同样的作用。
全部回答
select count(*) ,count(case when year= 1980 then 1 else 0) 1980,
count(case when year= 1981 then 1 else 0) 1981,
count(case when year= 1982 then 1 else 0) 1982,
count(case when year= 1987 then 1 else 0) 1987
from table where year in ('1980','1981','1982','1987')
下面的要用sum,不是count
select count(*) ,
sum(case when year= 1980 then 1 else 0) 1980,
sum(case when year= 1981 then 1 else 0) 1981,
sum(case when year= 1982 then 1 else 0) 1982,
sum(case when year= 1987 then 1 else 0) 1987
from table where year in ('1980','1981','1982','1987')
SELECt COUNT(*) TOTAL,
SUM(DECODE((TO_CHAr(HIREDATE, 'YYYY')), '1980', 1, 0)) YEAR1980,
SUM(DECODE((TO_CHAr(HIREDATE, 'YYYY')), '1981', 1, 0)) YEAR1981,
SUM(DECODE((TO_CHAr(HIREDATE, 'YYYY')), '1982', 1, 0)) YEAR1982,
SUM(DECODE((TO_CHAr(HIREDATE, 'YYYY')), '1983', 1, 0)) YEAR1983,
SUM(DECODE((TO_CHAr(HIREDATE, 'YYYY')), '1984', 1, 0)) YEAR1984,
SUM(DECODE((TO_CHAr(HIREDATE, 'YYYY')), '1985', 1, 0)) YEAR1985,
SUM(DECODE((TO_CHAr(HIREDATE, 'YYYY')), '1986', 1, 0)) YEAR1986,
SUM(DECODE((TO_CHAr(HIREDATE, 'YYYY')), '1987', 1, 0)) YEAR1987
FROM EMP
用SCOOT验证过的,不过只有oracle支持DECODE。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何给太阳能上水,这个图片是浴室的洗脸盆下
求帮助,steam汉化全是方块,w
我这个是道奇兔吗?主要喂什么?
穿着大红袍,头戴铁甲帽,叫叫我阿公,捉捉我
我的手机是移动的用的是联通长不支持联通4G怎
h1z1怎么都想杀矮子(走黯)??????
电动车存电的哪线开了怎么就粘住了
网站设计哪家最好?
婚姻案件
雇员和雇主劳动关系的认定有哪些标准
再见除了用Goodbay以外还能怎么说
银川红宏程职业培训学院(吴忠分校)地址在哪,
莜面为什么不能煮,而采用蒸的方式,原理是什
高平市职业技能培训中心地址在什么地方,想过
为什么很多人健身容易脱发
推荐资讯
读完《希腊神话故事》你有什么收获 30字
Win10怎么查看DNS地址
你好我的奥迪A4L机油灯亮提示机油不够我加了
请问几级工伤最严重
买房离地铁越近越好?看完才知被开发商骗了
江湖一盏灯后面用什么对
佛山市添砖五金制品有限公司
为什么福州的养生馆越来越多?
织锦面料的衣服穿着舒适吗
球球大作战内吐是什么 如何内吐图文操作分解
什么是冷拌沥青混合料?
加拿大曼省驾照路考一定要回头看盲点吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?