Oracle資料庫資訊分類彙總計數

2021-08-21 09:45:14 字數 1597 閱讀 7860

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...