2016-10-07 15 views
0

私は大量のデータを持つ大きなテーブルを持っており、私は少し難解な(私の経験を持つ)ような何かをする最善の方法を見つけようとしています。SQL Select Count/Distinct

あなたがここに見ることができるように私はApptDateとApptType <といくつかのクライアントがあるので、このようになり、データを持つテーブル...

Tbl1 

IDClient    ApptDate   ApptType 
788-77    7/1/2016   1 
789-78    7/21/2016   1 
688-12    7/15/2016   2 
459-48    7/20/2016   1 
788-77    7/2/2016   1 
788-77    7/19/2016   2 
789-78    7/29/2016   1 

を持っている - それはだから、私はこのコラムを含めていますが、私のどこの基準で使用されています。ここで

は私のジレンマだ...

クライアント788から77には、7月に3つのAPPTのは(7月と(1,2におけるappttype)が提供するテーブルのすべてのレコードが適用され、私の基準である)しています。クライアント789-78には2つのapptがあります。私はDISTINCT IDClientを表示する方法を見つけようとしています。彼らは '2011年7月1日'と '7/31/2016'の間に何人の予定を持っていますか

希望最終結果:

IDClient   ApptCount 
788-77   3 
789-78   2 
459-48   1 
688-12   1 

このような何か....(私はこれを解体しています知っている)

Select Distinct IDClient, Count(IdClient)? 
from Tbl1 
where apptType in (1,2) and apptDate between '7/1/2016' and '7/31/2016' 

答えて

4

あなたはこのgroup byを試すことはできますか?それをしなかった

Select IDClient, Count(IdClient) 
from Tbl1 
where apptType in (1,2) and apptDate between '7/1/2016' and '7/31/2016' 
group by IDClient 
+1

、私は近くにありました! – BobSki

2
SELECT IDClient, COUNT(IDClient) AS ApptCount 
FROM Tbl1 
WHERE ApptDate BETWEEN '1996-07-01' AND '1996-07-31' 
GROUP BY IDClient 
+0

3つのapptsを持つクライアントだけを表示したいのですが? – BobSki

+2

申し訳ありませんが、私はそれを逃した! HAVING COUNT(IDClient)= 3という節を追加することができます – Elaina