首頁 > 資料庫 > mysql教程 > 如何使用 COUNT(DISTINCT) 正確計算 SQL Server 中的不同程式名稱?

如何使用 COUNT(DISTINCT) 正確計算 SQL Server 中的不同程式名稱?

Linda Hamilton
發布: 2025-01-14 18:51:43
原創
264 人瀏覽過

How to Correctly Count Distinct Program Names in SQL Server Using COUNT(DISTINCT)?

使用 COUNT(DISTINCT) 計算 SQL Server 中的唯一程式名稱

本指南示範如何使用 COUNT(DISTINCT) 聚合函數精確計算 SQL Server 中的唯一程式名稱。 我們將研究一個常見的查詢問題及其解決方案。

挑戰:

考慮一個名為 cm_production 的表,其中包含 ticket_numberprogram_typeprogram_namepush_number 等欄位。 目標是確定每個 program_typepush_number 的不同程式名稱的數量。 最初的嘗試可能如下所示:

1

2

3

4

5

6

7

<code class="language-sql">DECLARE @push_number INT;

SET @push_number = [HERE_ADD_NUMBER];

 

SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type]

FROM cm_production

WHERE push_number=@push_number

GROUP BY program_type</code>

登入後複製

但是,此查詢未提供唯一程式名稱的正確計數。

解:

正確的方法是使用COUNT(DISTINCT)

1

2

3

4

5

<code class="language-sql">SELECT program_type AS [Type],

       COUNT(DISTINCT program_name) AS [Count]

FROM   cm_production

WHERE  push_number = @push_number

GROUP  BY program_type</code>

登入後複製

說明:

COUNT(DISTINCT program_name) 僅計算每個 program_name 組中 program_type 的唯一非空值。 重複的程序名稱將被忽略。 這會產生每種程式類型的不同程式名稱的準確計數。

進一步考慮:

DISTINCT 關鍵字與各種聚合函數相容,包括 SUM()MIN()MAX()。 與 COUNT() 一起使用時,其功能等同於 COUNT(DISTINCT 1)COUNT(NOT NULL)

以上是如何使用 COUNT(DISTINCT) 正確計算 SQL Server 中的不同程式名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板