第1部 魔法のSQL 1-4 HAVING句の力|達人に学ぶSQL徹底指南書
1-4 HAVING句の力
データの歯抜けを探す
現在の標準SQLでは HAVING句を単独で使える。 ただしその場合、SELECT句で元テーブルの列を参照できなくなるので、定数を指定するか集約関数を使う必要がある。
HAVING句でサブクエリ:最頻値を求める
GROUP BYは、もとの集合から部分集合を作る働きをする。
HAVING句で自己結合:メジアンを求める
大小関係に基づいて部分集合を作るなら、自己非等値結合。
NULLを含まない集合を探す
COUNT(*)はNULLを数える。COUNT(列名)はNULLを除外して集計する。
特定の条件を満たす集合に含まれるかどうかを決める関数。 特性関数
関係除算でバスケット解析
ひとつの実体についての情報が複数行に分散して存在する場合、WHERE句で単純にORやINで条件を指定しても正しい結果は得られない。 WHERE句で指定する条件は、あくまで1行について適用されるから。
まとめ
WHERE句は 集合の要素 の性質を調べる道具、対してHAVING句は 集合自身 の性質を調べる道具。
Link
Latest post:
- OpenWhiskのScala sbtプロジェクトのgiter8テンプレートを作った
- OpenWhisk+Scalaで作るServerless Architectureとっかかり
- BluemixにPlayframeworkアプリケーションをデプロイする
- sbt、Giter8を統合するってよ
- Scala 2.12.0でSAM型