1

我需要找出在给定日期创建的记录总数。

例如

ID 创建 日期 1 17/07/2009 2 12/07/2009 3 17/07/2009 4 05/07/2009 5 12/07/2009 6 17/07/2009






输出:

3 条记录于2009 年 7 月 17
日创建 2 条记录于 2009 年 7 月 12 日创建
1 条记录于 2009 年 5 月 7 日创建

编辑

在测试 Chris Roberts 提出的在 SQL 中包含格式的第二个建议时,我得到了这个错误:

Syntax error converting the varchar value ' Records were created on ' to a column of data type int.

有谁知道如何修改解决方案以使其正常工作?

4

3 回答 3

6

您应该能够使用以下 SQL 获取所需的数据...

SELECT COUNT(ID), CreatedDate FROM MyTable GROUP BY CreatedDate

或者 - 如果你也想在 SQL 中进行格式化......

SELECT CONVERT(varchar, COUNT(ID)) + ' Records were created on ' + CONVERT(varchar, CreatedDate) FROM MyTable GROUP BY CreatedDate

祝你好运!

于 2009-07-30T18:41:48.420 回答
1

该列实际上是时间戳吗?在这种情况下,您需要应用一个函数来删除时间组件,例如:

SELECT COUNT(*), date(CreatedDate) FROM MyTable GROUP BY date(CreatedDate)

我不知道 T-SQL 中的函数是什么,它是 MySQL 中的 date() 和 Oracle 中的 trunc()。如果你缺少这个,你甚至可能需要做一个 to_string 并删除字符串的结尾和分组。

希望这可以帮助。

于 2009-07-30T21:33:04.067 回答
-2
select count(*), CreatedDate from table group by CreatedDate order by count(*) DESC
于 2009-07-30T18:41:12.087 回答