2012-03-22 79 views
7

好,我可能会问一个愚蠢的问题,但我敲我的头在这个..集团和计数在SQL Server 2008

说我有一个表像这样:

FullName | DownloadDate 
-------- | ----------------------- 
Jack  | 2012-03-21 00:00:00.000 
Joe  | 2012-03-21 00:00:00.000 
John  | 2012-03-22 00:00:00.000 

我想要返回按日期下载的数量,所以得到的表格是:

DownloadDate   | TotalDownloaded 
------------------------| --------------- 
2012-03-21 00:00:00.000 | 2 
2012-03-22 00:00:00.000 | 1 

我该如何实现这一目标?另外,你可以假定在原始数据的日期列中,我总是有'00:00:00.000'的时间。

+0

那你试试?发布您的SQL – 2012-03-22 18:29:30

回答

19

试试这个:

SELECT DownloadDate, Count(DownloadDate) as TotalDownloaded 
FROM yourtable 
GROUP BY DownloadDate 
+0

OMG,完美工作谢谢:) – AshesToAshes 2012-03-22 18:37:06

+0

很高兴它的工作!请务必通过左侧的复选标记接受此答案。 – Taryn 2012-03-22 18:38:19

0

试试这个SQL查询:

SELECT DownloadDate,COUNT(FullName) AS TotalDownload 
FROM YOURTABLE 
GROUP BY DownloadDate 
ORDER BY DownloadDate; 
+0

我发布了这个答案,从我的stackoverflow移动应用程序之前...这就是为什么不能以对齐的方式发布... – Teja 2012-03-22 19:17:50

3
SELECT DownloadDate, COUNT(DownloadDate) [TotalDownloaded] 
FROM TableName 
GROUP BY DownloadDate 
0

这也适用于:

SELECT DownloadDate, COUNT(1) as [TotalNoOfDownloads] 
FROM TableName GROUP BY 1 
+1

“GROUP BY 1”在SQL Server中无效 – 2012-03-26 10:50:52