查找SQL Server 2008中每个客户的记录总数

时间:2012-02-01 15:12:42

标签: sql sql-server

我有一张表将我的客户链接到他们检查过的DVD。我的表名为CustomerDvds。该表如下所示:

CustomerDvds
- ID
- CustomerID
- DvdID
- CheckOutDate
- CheckInDate

我正在尝试编写一个查询,告诉我每个客户在特定日期检出了多少张DVD。目前,我写了以下内容:

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

不幸的是,我的DVDCount值似乎很高。我究竟做错了什么?如何修复此查询?

由于

2 个答案:

答案 0 :(得分:5)

我认为你想要COUNT而不是SUM ...

答案 1 :(得分:3)

使用COUNT聚合而非SUM

您正在为每个客户添加ID的值(这不会给您带来任何有用的信息),而不是计算其数量。