Web design and hosting, database, cloud and social media solutions that deliver business results
  • ビジネスソリューション
    • データベースサービス
      • サーバーのアップグレードと DBA サービス
      • データウェアハウス サービス
      • データ統合
      • パワーBI
    • ウェブサイトデザイン
      • Web サイトのセキュリティ
      • Web サイトの最適化
      • ロゴデザイン
      • 支払いゲートウェイ
      • テクニカルツール
    • ビジネスサービス
      • Google クラウド サービス
      • アマゾン ウェブ サービス
      • マイクロソフト アズール
    • ソーシャルメディア
    • マイクロソフトオフィス
  • 学校
    • テスト環境
    • 学習データベース
      • 基礎
      • SQL Serverデータ
      • SQLServerのメンテナンス
      • SQL Serverの日付の使用
      • SQLServerピボットの使用-ピボット解除
      • SQLServer関数の使用
      • オープンクエリを取得
      • ツール
    • ウェブデザインを学ぶ
      • Ousia コンテンツ管理システムの構築
      • ASP-NET の使用
      • CSS の使用
      • JavaScript の使用
    • クラウドと IT サービスの学習
      • タスク スケジューラ エラー 2147943645
      • OpenSSL での SSL の要求と PFX ファイルの生成の簡単な手順
    • ソーシャル メディアの使用
      • Facebookアカウントを個人用からビジネス用に変更する
      • Google レビューを依頼する
      • ソーシャル メディアの取り組みをどこに集中させるかを選択する
      • ソーシャル メディアの画像サイズ
      • メタ データを使用してソーシャル メディア画像を設定する
  • 私たちに関しては
    • ブログ
      • Google コア アップデート 2020 年 1 月
      • インターネット上のウェブサイトに関する最も厄介なこと
      • ウェブサイトの広告リーフレットのコンテンツを選択する方法
      • エントリーレベルのゲーム機の構築
      • オンライン詐欺の防止
      • ギグエコノミーのスキマー
      • ホットチリインターネット閉鎖
      • 無料のベクター グラフィックスのトップ 5 Web サイト
    • キャリア
      • 翻訳者 英日
      • 英語-トルコ語翻訳者
    • チーム
      • アイセ・ハー
      • アリ アル アミン
      • ギャビン・クレイトン
      • サイガングー
      • スーリヤ・ムッカマラ
      • スニール・クマール
      • チェスターコッパーポット
    • ポートフォリオ
English (EN-US)English (EN-GB)Español (ES)हिंदी (HI)italiano (IT)日本語 (JA)

COUNT(*) 対 COUNT(列)

SQL Server の COUNT(*) と COUNT(column) の違いと、日常的にどちらを使用するかを調べる

Which one to use

Using SQL Server Data

Unless you need a very specific answer, you are best off using the *. The query optimiser should choose to use the most suitable index.

There are a few differences in the syntax, so we can have a quick look at those first;

  • COUNT(*) returns the number of rows in the table
  • COUNT(COLUMN) returns the number of non-NULL values in the column
  • COUNT (DISTINCT COLUMN) returns the number of distinct non-NULL values in the column
  • COUNT (DISTINCT *) is not allowed, you would need to add a GROUP BY clause for this.

Test SQL

DECLARE @T TABLE(ID INT IDENTITY(1,1),Val VARCHAR(10))DECLARE @I INT=1WHILE @I<=100 BEGININSERT INTO @T SELECT (CASE WHEN @I % 3 = 0 THEN NULL ELSE @I END)INSERT INTO @T SELECT (CASE WHEN @I % 9 = 0 THEN NULL ELSE @I END)SET @I=@I+1ENDSELECT COUNT(*),COUNT(Val),COUNT(DISTINCT Val)FROM @T

Wrapping up

The results will return 200, 156 and 89 as we have NULLED out anything divisible by 3 and anything divisible by 9 up to 100.

There is a practical use for counting the column, but when you just need a row count use the *, particularly over non-indexed columns.

Author

Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink クッキーポリシーサイトマップ

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
The settings on this site are set to allow all cookies. These can be changed on our Cookie Policy & Settings page.
By continuing to use this site you agree to the use of cookies.
Ousia Logo
Logout
Ousia CMS Loader