亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SQL Server查詢-使用DISTINCT選擇COUNT(*)

SQL Server查詢-使用DISTINCT選擇COUNT(*)

慕萊塢森 2019-10-15 11:02:20
在SQL Server 2005中,我有一個表cm_production,其中列出了已投入生產的所有代碼。該表具有ticket_number,program_type,program_name和push_number以及其他一些列。目標:按程序類型和推送編號計算所有DISTINCT程序名稱到目前為止,我有: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這讓我感到很困惑,但是它計算的是所有程序名稱,而不是不同的名稱(我不希望它在該查詢中執行)。我想我只是無法解決如何僅選擇不同程序名稱而不選擇它們的問題。或者其他的東西。
查看完整描述

3 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

按程序類型和推送編號計算所有DISTINCT程序名稱


SELECT COUNT(DISTINCT program_name) AS Count,

  program_type AS [Type] 

FROM cm_production 

WHERE push_number=@push_number 

GROUP BY program_type

DISTINCT COUNT(*)將為每個唯一計數返回一行。您想要的是COUNT(DISTINCT <expression>):計算組中每一行的表達式并返回唯一的非空值的數量。


查看完整回答
反對 回復 2019-10-15
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

我需要獲取每個不同值的出現次數。該列包含地區信息。我最終得到的簡單SQL查詢是:


SELECT Region, count(*)

FROM item

WHERE Region is not null

GROUP BY Region

這會給我一個清單,例如:


Region, count

Denmark, 4

Sweden, 1

USA, 10


查看完整回答
反對 回復 2019-10-15
?
手掌心

TA貢獻1942條經驗 獲得超3個贊

您必須為不同的列創建一個派生表,然后從該表中查詢計數:


SELECT COUNT(*) 

FROM (SELECT DISTINCT column1,column2

      FROM  tablename  

      WHERE condition ) as dt

這dt是一個派生表。


查看完整回答
反對 回復 2019-10-15
  • 3 回答
  • 0 關注
  • 1038 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號