システム開発ブログ/ 産業システム部 Yahoo!ブックマークに登録 Google ブックマーク はてなブックマーク Livedoorクリップ シェア

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

集計関数を使用する際は、NULLに注意すること!!

小原
小原 (2010年7月29日 13:20)
産業システム部

SQLの集計関数には、COUNT(),AVG()といったものがあります。
これらはNULLのデータが存在する場合、
集計の対象にしません。

例えば、以下のテーブルがあるとします。

【テーブル名】:
TEST1

【データ】:
KEY  SURYO
A001  100
A002  (NULL)
A003  200

こちらテーブルに対し、以下のSQLを実行すると...

【SQL】
SELECT AVG(SURYO) AS 平均,COUNT(SURYO) AS 件数
FROM TEST1

このような結果が返ってきます。

【結果】:
平均   件数
150    2

前述した通り、集計関数ではNULLは集計の対象外となるため、
平均は、"100"ではなく"150"、
件数は、"3"ではなく"2"という結果が返ってきます。

集計関数は金額計算等で主に使用するので、
これを知らない人が開発したシステムがもし存在するとしたら、
絶対に使いたくありません。

もし、NULLも集計の対象にしたいという場合、
今回のケースでは、NULLを0として扱うようにしてください。

【SQL】
SELECT AVG(NVL(SURYO,0)) AS 平均, COUNT(NVL(SURYO,0)) AS 件数
FROM TEST1

【結果】:
平均   件数
100    3

「システム開発ブログ」へのコメントやご意見等ありましたら、 ファンページまでお願いします。  Facebook のファンページ

お問い合せ・情報はこちらの電話番号におかけください:03-3232-2525 お問合せ・資料請求はこちらをクリックしてください
ページのトップ
システム開発・一括受託開発。見積依頼受付中

システム開発専用サイト

システム開発の流れ・手順、実績など。アイロベックスのシステム開発を紹介。

VB .NETを主言語としたWebアプリケーションの開発

要件分析から保守まで、お客様の現場での問題解決だけでなく、IT経営の援護者としてトータルソリューションサービスを提供しています。

MovableType を使ったウェブサイト構築

魅力あるウェブサイトデザイン、構成はもとよりMovableTypeを使用したウェブサイトの作成、JAVA、CGIによる注文フォームの作成等、ビジネスを強力にサポートします。

フォルダーアクセス権限確認ツール『AD-Folder』

Windowsフォルダーアクセス権限確認ツール

フォルダーアクセス権限を一目で確認。使用版を無償でご利用いただけます。

スクール運営を応援する講座情報管理システム『CMS+AD for School』

Webとリアルをつなぐコンテンツマネージメントシステム

Webサイト・モバイルサイト・チラシ(PDF)・カタログ(InDesign)を、簡単かつ正確に作成できます。

「システム開発ブログ」の更新情報をTwitterで。

Twitter公式アカウントに認定されています

「システム開発ブログ」の更新情報をTwitterで。ぜひ、フォローをお願いします。