Home実験室 − No.0061


        No.0061(SQL)
        GROUP BYについての追加実験(group by句に複数列を指定)

■環境
  □OS: Windows XP Professional SP3
  □Oracle: Oracle Database 11g R2 (Standard)
  □OSログインユーザ: ORA_DBAグループ
  □Oracleユーザ: dicdic(実験用ユーザー) → 実験環境構築スクリプト

■実験
  0. 実験ユーザー「dicdic」でコネクトする。

SQL> conn dicdic/Oracle11g 接続されました。 SQL>



  1. 【Group byのおさらい】
下のようなSQL文で、血液型ごとの最高点を表示できる。

SQL> SELECT 血液型,MAX(TOEIC) FROM TT01_学生 GROUP BY 血液型; 血液型 MAX(TOEIC) ---------- ---------- 1 998 2 995 4 992 3 998 SQL>



  2. group by に複数列を指定したらどうなるか?
下のようになります。かわりますかね? 
18学科、の各血液型ごとに最高点を拾っています。
18学科×4血液型=72行がセレクトされます。

SQL> SELECT 血液型,学科コード,MAX(TOEIC) FROM TT01_学生 GROUP BY 血液型,学科コード; 血液型 学科コード MAX(TOEIC) ---------- ---------- ---------- 4 2703 922 1 2273 998 3 2101 992 1 1350 967 1 1578 996 2 1521 980 4 2015 945 4 1635 959 1 2875 933 4 2789 972 1 1293 985 1 2187 967 2 1464 988 2 1350 956 2 2187 983 1 2445 991 3 2875 963 1 2531 994 4 1350 670 3 1578 994 1 2359 977 2 2359 928 1 2617 988 4 1578 969 2 2789 969 3 1350 992 2 1407 874 3 2359 998 2 1635 959 2 2273 912 2 2703 975 2 1293 995 1 2101 952 1 1521 978 3 1464 975 2 2875 942 4 1464 797 4 1407 936 1 2015 982 3 1407 989 3 1521 998 2 2445 995 3 2703 966 2 2015 978 4 1293 992 3 2531 966 4 2187 947 3 2789 989 4 2531 923 2 2617 991 3 2187 980 1 1635 983 3 1293 991 2 1578 937 3 2015 935 3 2617 974 1 1464 996 4 2101 952 2 2101 958 4 2617 979 4 1521 966 4 2445 741 1 2789 975 3 2273 949 1 2703 998 3 1635 892 1 1407 998 3 2445 986 4 2359 948 2 2531 944 4 2875 946 4 2273 923 72行が選択されました。 SQL>



  3. ソートすると、もうちょい見やすくなりますかね。

SQL> SELECT 血液型,学科コード,MAX(TOEIC) FROM TT01_学生 GROUP BY 血液型,学科コード ORDER BY 学科コード,血液型; 血液型 学科コード MAX(TOEIC) ---------- ---------- ---------- 1 1293 985 2 1293 995 3 1293 991 4 1293 992 1 1350 967 2 1350 956 3 1350 992 4 1350 670 1 1407 998 2 1407 874 3 1407 989 4 1407 936 1 1464 996 2 1464 988 3 1464 975 4 1464 797 1 1521 978 2 1521 980 3 1521 998 4 1521 966 1 1578 996 2 1578 937 3 1578 994 4 1578 969 1 1635 983 2 1635 959 3 1635 892 4 1635 959 1 2015 982 2 2015 978 3 2015 935 4 2015 945 1 2101 952 2 2101 958 3 2101 992 4 2101 952 1 2187 967 2 2187 983 3 2187 980 4 2187 947 1 2273 998 2 2273 912 3 2273 949 4 2273 923 1 2359 977 2 2359 928 3 2359 998 4 2359 948 1 2445 991 2 2445 995 3 2445 986 4 2445 741 1 2531 994 2 2531 944 3 2531 966 4 2531 923 1 2617 988 2 2617 991 3 2617 974 4 2617 979 1 2703 998 2 2703 975 3 2703 966 4 2703 922 1 2789 975 2 2789 969 3 2789 989 4 2789 972 1 2875 933 2 2875 942 3 2875 963 4 2875 946 72行が選択されました。 SQL>





    【PR】    Oracle実験室監修  『Oracleアーキテクチャ鳥瞰図』 PDF  (Oracleのアーキテクチャを一目で俯瞰できるイラスト)  


Home実験室 − No.0061

© 2011-2011   Amateur Laboratory of ORACLE
inserted by FC2 system