【问题标题】:Group and Count in SQL Server 2008SQL Server 2008 中的分组和计数
【发布时间】:2012-04-07 08:50:00
【问题描述】:

好吧,我可能会问一个愚蠢的问题,但我正在努力解决这个问题..

假设我有一张这样的桌子:

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”。

【问题讨论】:

  • 你尝试了什么?发布你的 SQL

标签: sql-server sql-server-2008 tsql sql-server-2008-r2


【解决方案1】:

试试这个:

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

【讨论】:

    【解决方案2】:
    SELECT DownloadDate, COUNT(DownloadDate) [TotalDownloaded]
    FROM TableName
    GROUP BY DownloadDate
    

    【讨论】:

      【解决方案3】:

      试试这个 sql 查询:

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

      【讨论】:

      • 我之前从我的 stackoverflow 移动应用发布了这个答案...这就是为什么不能以一致的方式发布...
      【解决方案4】:

      这也有效:

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

      【讨论】:

      • GROUP BY 1 在 SQL Server 中无效
      猜你喜欢
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 2011-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      相关资源
      最近更新 更多