Oracleデータベースのgroupby:カスタム・ルールでグループ化
928 ワード
データベース・パケット・クエリーgroupbyでは、デフォルトでは、クラス番号でグループ化されたクエリー、クラスごとにグループ化されたクエリー、クラスごとにグループ化されたクエリーなど、フィールド別に均等にクエリーされます..
ここでは、カスタム・ルールに従ってグループ化する方法を示します.
次の文は、18クラス以上の学生をカスタム形式で4つのクラスに分け、各クラスの学生数を統計します.もちろん、クラス番号がつながっているわけではありません.
条件はwhen...then間then以降のフラグを分類名とする.
転載してください
出典を明記する
ここでは、カスタム・ルールに従ってグループ化する方法を示します.
次の文は、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
);
転載してください
出典を明記する