確定資料集中唯一條目的數量是資料分析中的常見任務。 SQL Server 提供了一種使用 COUNT(DISTINCT)
函數對不同值進行計數的簡單方法。這在處理大型資料集時特別有用,因為了解獨特的事件至關重要。
讓我們考慮一下cm_production
表,它儲存有關程式碼部署的信息,包括票號、程式類型、程式名稱和推送編號。 我們的目標是確定唯一程式名稱的數量,按程式類型和推送數量分類。
最初的錯誤方法可能如下:
<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 <expression>)
函數。 此函數專門傳回給定表達式的唯一非空值的數量。
修正後的SQL查詢如下:
<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)
來精確計算每種程式類型和指定 push_number
的不同程式名稱。這提供了資料庫中唯一程式碼部署的精確表示。
以上是如何使用 COUNT(DISTINCT) 計算 SQL Server 中不同的程式名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!