Scroll

「常に新しい技術に目を向けること」
「既存の技術をより深堀りすること」

カテゴリ:MySQL
タグ:
公開日:2016/04/20(水)

【Mysql】COUNTを条件指定で

こんにちわ、ヤスです。

SQLのCOUNTが関数内で条件指定できることをイマサラナガラ知りましたので、覚書き!

本日のこんなんええやん

名前 住所
A郎くん 大阪
A子さん 大阪
B郎くん 東京
C郎くん 東京
B子さん 大阪
D郎くん 大阪

↑こんなデータがあるとき
大阪の人数と東京の人数を列にわけて集計したい
↓こんな感じで

東京 大阪
2 4

いつもなら、こう(サブクエリ好きです。)


これからは、こう


この論理です。
count(*) は全件数を数える、count(hogehoge)は、hogehogeの NOT NULL値を数える!
3値(TRUE, FALSE, NULL)を使い、数えるものをNOT NULL値、数えたくないものをNULL値にする!

COUNT(住所 = ‘東京’ or null)とすると

住所 = ‘東京’ のとき → true or null → true
住所 <> ‘東京’ のとき → false or null → null

他の集計関数もきっと使えると思います。SQL標準なのかな?日々精進!

この記事を書いた人:ヤス

シェアのご協力をお願いいたします!

カテゴリー

アーカイブ