2012-02-01 4 views
0

고객을 체크 아웃 한 DVD에 내 고객을 연결하는 표가 있습니다. 내 테이블은 CustomerDvds라고합니다. 이 표는 다음과 같습니다.SQL Server 2008에서 고객 당 총 레코드 수 찾기

CustomerDvds 
- ID 
- CustomerID 
- DvdID 
- CheckOutDate 
- CheckInDate 

각 고객이 특정 날짜에 체크 아웃 한 DVD의 수를 알려주는 쿼리를 작성하려고합니다. 현재 다음을 작성했습니다 :

SELECT 
    CustomerID, 
    SUM(DvdID) as 'DVDCount' 
FROM 
    CustomerDvds 
WHERE 
    [CheckOutDate]<=GetUtcDate() AND 
    [CheckInDate]>GetUtcDate() 
GROUP BY 
    [CustomerID] 

불행히도 내 DVD 카운트 값은 매우 높습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 이 쿼리는 어떻게 수정합니까?

감사

+0

당신은 쿼리하기 전에 현재 날짜를하다가 및 전반에 걸쳐 사용 할 수 있습니다 ... 당신이 SUM하지 COUNT 싶은 생각 : '날짜로 @Today 선언은 = GETUTCDATE는()'이 문제가 될 때의 더 쿼리가 실행될 때'DateTime'을 사용하고 움직이는 타겟을 쫓아갑니다. – HABO

답변

3

COUNT 집계되지 SUM를 사용합니다.

각 고객에 대한 ID 값을 더하고 있습니다 (유용하지 않을 수 있습니다).

관련 문제