ダウンロードはこちら:http://www.oracle.com/technology/products/database/xe/index.html
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
例えば、以下のようなテーブル students があるとする
| id | name | class |
|---|---|---|
| 1 | foo | A |
| 2 | bar | B |
| 3 | baz | C |
| 4 | hoge | B |
| 5 | fuga | C |
| 6 | xyzzy | B |
それぞれのclassに何人登録されているか1レコードで出力したい場合
SELECT COUNT(DECODE(class,'A',1,null)) AS class_A
, COUNT(DECODE(class,'B',1,null)) AS class_B
, COUNT(DECODE(class,'C',1,null)) AS class_C
FROM students
class_A|class_B|class_C
-----------------------
1| 3| 2
SQL> explain plan for select * from FOO; 解析されました。 SQL> @[Oracleインストールディレクトリ]/app/oracle/product/10.2.0/server/RDBMS/ADMIN/UTLXPLS.SQL PLAN_TABLE_OUTPUT ----------------------------------------------------------------------------- Plan hash value: 2186261815 ----------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 11138 | 4851K| 26 (4)| 00:00:01 | | 1 | MAT_VIEW ACCESS FULL| FOO | 11138 | 4851K| 26 (4)| 00:00:01 | -----------------------------------------------------------------------------
こっちの方が簡単。あらかじめ以下の設定を行っておくだけ。
SQL> set autotrace on または SQL> set autotrace trace 戻すときは SQL> set autotrace off