Oracle資料庫之group by:按自定規則分組
阿新 • • 發佈:2019-01-25
在資料庫分組查詢group by 中,預設的方式有按某一個欄位的均分查詢(如按班級編號分組,每一個班分組,每兩個班分組。。。)
在這裡寫出一種按照自定義規則分組的方式:
以下語句,按自定義的格式將大於等於18個班級的學生分為4類,統計每個類別的學生數量。當然,同類未必要班級號相連,分類
條件寫在when ...then之間 then之後的標誌作為分類名稱。
表格:
create table student
(
xh varchar2(10) primary key,
class_no number(6) not null
);
分組統計:
select case when class_no>=1 and class_no<=2 then 1 when class_no>=3 and class_no<=6 then 2 when class_no>=7 and class_no<=17 then 3 when class_no>=18 then 4 end as class_fenlei,--班級分類 count(xh)--每個班級分類的學生人數 from student group by ( case when class_no>=1 and class_no<=2 then 1 when class_no>=3 and class_no<=6 then 2 when class_no>=7 and class_no<=17 then 3 when class_no>=18 then 4 end );
轉載請
註明出處