開発環境
- OS: OS X Lion - Apple
- データベース言語: SQL
- リレーショナルデータベース: MySQL
『初めてのSQL』(Alan Beaulieu 著、株式会社クイープ 翻訳、オライリー・ジャパン、2006年、ISBN4-8733-181-8) の11章(条件ロジック)、11.4(練習問題)11-2を解いてみる。
11-2.
SQL文(BBEdit)
SELECT SUM(CASE WHEN open_branch_id = 1 THEN 1 ELSE 0 END ) branch_1, SUM( CASE WHEN open_branch_id = 2 THEN 1 ELSE 0 END ) branch_2, SUM( CASE WHEN open_branch_id = 3 THEN 1 ELSE 0 END ) branch_3, SUM( CASE WHEN open_branch_id = 4 THEN 1 ELSE 0 END ) branch_4 FROM account;
入出力結果(Terminal)
$ mysql -u lrngsql -p bank
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.24 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> SELECT SUM(CASE
-> WHEN open_branch_id = 1 THEN 1
-> ELSE 0 END
-> ) branch_1, SUM( CASE
-> WHEN open_branch_id = 2 THEN 1
-> ELSE 0 END
-> ) branch_2, SUM( CASE
-> WHEN open_branch_id = 3 THEN 1
-> ELSE 0 END
-> ) branch_3, SUM( CASE
-> WHEN open_branch_id = 4 THEN 1
-> ELSE 0 END
-> ) branch_4
-> FROM account;
+----------+----------+----------+----------+
| branch_1 | branch_2 | branch_3 | branch_4 |
+----------+----------+----------+----------+
| 8 | 7 | 3 | 6 |
+----------+----------+----------+----------+
1 row in set (0.10 sec)
mysql> quit
Bye
$
0 コメント:
コメントを投稿