SQLデータをソート、グループ化、要約化するための10 Tips
翻訳校正:原井彰弘
データを分析するためにどのようなSQLを構築すればよいか、10個のTipsを紹介する。
分析可能なSQLデータを整えるには、SQL言語の中でも特定の節や演算子の使い方を理解する必要がある。本稿で紹介するTipsでは、望む結果を得るためにはどのようにステートメントを構築すればよいかということを紹介する。
適切な意味を持つようにデータを整えるのはだ。ときには、単純にソートを行うだけでよい場合もある。また、ときにはグループ化を行って分析、要約化する必要がある場合もある。幸い、SQLでは多数の節や演算子が提供されているため、それらを用いてソートやグループ化、要約化を行うことが可能だ。以下に述べるTipsを読めば、いつソートを行うべきか、いつグループ化するべきか、そしていつどのように要約化するべきかが、明確に理解できるようになるだろう。それぞれの節と演算子に関するより詳しい情報はBooks Onlineを参照して欲しい。
#1:ソートによって順番を定める
たいていの場合、データにとって本当に必要なのは順序くらいである。SQLのORDER BY節を用いると、データをアルファベット順もしくは番号順に整理することが可能だ。ソートを行うと、同じ値はグループのようになって同じ場所にソートされるわけだが、その一見グループのように見えるものは単なるソート結果であり、本物のグループではない。ORDER BYではそれぞれのレコードを表示するが、グループは一般に複数のレコードを表すものなのである。
#2:グループ化によって同じ値を除去する
ソートとグループ化の大きな違いは、ソートが(表示レコード数の制限がある場合はその中で)すべてのレコードを表示する一方、グループ化ではすべてのレコードは表示されないということである。GROUP BY節では、同じ値は一つのレコードにまとめられるのだ。以下の例では、GROUP BY節を用いることによって、複数の同じZIPコード(郵便番号)が含まれているテーブルから、重複を取り除いたリストを返している。
SELECT ZIP FROM Customers GROUP BY ZIP
GROUP BYとSELECTのカラムリストには、グループを定義したカラムのみを含めなければならない。つまり、SELECTのリストとGROUP BYのリストは一致させる必要があるのだ。ただし、それには一つ例外があり、SELECTのリストには集約関数を含めることが可能である(GROUP BYでは集約関数は使用できない)。
もう一つ、GROUP BYでは結果のソートは行わないことに注意しておく必要がある。グループをアルファベット順もしくは番号順に並び替えるには、ORDER BY節(#1)を追加する必要がある。また、GROUP BY節ではカラムの別名を参照することはできない。グループ化を行うカラムは、データに含まれているものでなければならないのだ。ただし、結果に関してはそのカラムが含まれていなくても構わない。
#3:グループ化の前にデータを限定する
WHERE節を用いることによって、GROUP BYでグループ化を行うデータを限定することが可能だ。たとえば、以下のステートメントではケンタッキー州の顧客のみを対象として、ユニークなZIPコードをリストとして返している。
SELECT ZIP FROM Customers WHERE State = 'KY' GROUP BY ZIP
ここで重要なのは、WHEREのフィルターはGROUP BY節が評価される前に適用されるということである。
GROUP BYと同様に、WHEREも集約関数をサポートしていない。
- 8人の推薦記事
- 1人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(5)
- 今日のトップ記事
- 昨日
- 5日前
- 6日前
- 7日前
- ホワイトペーパー
- 話題のタグ
「Google Chrome」の拡張機能、開発者からのアップロード受付を開始
IMAPでGmailを受信、最も手っ取り早いのは?Windows 7、Ubuntu 9.10、Snow Leopardのメーラー比較
Snow LeopardではNTFSをサポート--その源流を訪ねる(2)
MS運営のオープンソース開発プロジェクト支援サイト「CodePlex」を探検する(2)
Snow LeopardではNTFSをサポート--その源流を訪ねる(1)
フォトレポート:「Windows Server 2008 R2」--あまり知られていない有用な機能10選
100万円で実現!中小企業の情報漏えい対策
大丈夫?あなたの会社のセキュリティ対策
【最終警告】パンデミック対策特集
高まるiSCSIストレージへの注目度
―エン・ジャパン厳選求人☆毎週更新―
電力に"ふた"をする独自の省エネ機能とは!?
企業ITシステムの企画、構築、運用のイロハ