1、原始資料表:
2、需求
按照分數段將成績分為優秀(90-100分)、良好(80-89分)、合格(60-79分)、不合格(60分以下),並按順序顯示出來,結果輸入為:
3、建立**並初始化資料
createtable results(id int,namevarchar(10),score int);
insertinto results values(1,'小a',96);
insertinto results values(2,'小b',95);
insertinto results values(3,'小c',94);
insertinto results values(4,'小d',93);
insertinto results values(5,'小e',92);
insertinto results values(6,'小f',85);
insertinto results values(7,'小g',84);
insertinto results values(8,'小h',81);
insertinto results values(9,'小i',81);
insertinto results values(10,'小j',68);
insertinto results values(11,'小k',63);
insertinto results values(12,'小l',55);
insertinto results values(13,'小m',50);
insertinto results values(14,'小n',52);
4、查詢語句
select(case
when t.rank = 'a' then '優秀'
when t.rank = 'b' then '良好'
when t.rank = 'c' then '合格'
else '不合格' end) grade,
count(t.rank) as count
from (select results.*,
(case
when score between 90 and 100then 'a'
when score between 80 and 89then 'b'
when score between 60 and 79then 'c'
else 'd' end) rank
from results) t
group by t.rank
order by t.rank;
5、分析
為了能夠完成彙總,並按照一定順序排列,此處在原始**的基礎上引進了rank列,將分數按照要求歸類為a、b、c、d,然後再次基礎上進行操作,或許還有更好的方法,以後的學習中在進行總結。
oracle資料庫統計資訊
exec dbms stats.gather schema stats ownname cbs options gather auto estimate percent dbms stats.auto sample size,method opt for all indexed columns de...
oracle 資料庫相關資訊檢視
1.查詢所有使用者表空間占用大小 select segment name,tablespace name,sum bytes 1024 1024 m from dba extents where segment type table group by segment name,tablespace ...
資料庫 oracle查詢表資訊
修改資料庫中一張表指定欄位的資料,該字段在其他表中也存在,需要同步修改 此時需要統計資料庫中所有包含該字段的表。獲取表字段 select from user tab columns where table name 使用者表 獲取表注釋 select from user tab comments w...