【问题标题】:Count records per day and month [duplicate]每天和每月计算记录[重复]
【发布时间】:2022-10-04 22:13:56
【问题描述】:

我有一个具有以下结构的表

Message_ID DateTimeMessage
43455554 2022-10-01 17:08:28.0000000
56744333 2022-08-03 11:03:24.0000000
12434344 2022-02-11 01:02:14.0000000
.... .........

|

等等,有1000条记录。所有消息 ID 都是唯一的

我想知道如何计算记录数(message_IDs)1)每天和 2)每月整整一年,所以我得到一个输出

Day Count Messages
2022-01-01 32
2022-01-02 123
2022-01-03 21
Month Count Messages
2022-01-31 1132
2022-02-28 2200
2022-03-31 2122

我尝试使用 dateadded 但没有得到我想要的结果

【问题讨论】:

  • 我在这里假设 SQL Server,但是,如果您使用可以连接以使用 SSMS 的其他产品(例如 Azure SQL 数据库),请edit您的问题以更正标签。
  • @larnu 那个答案是 15 岁——SQL Server 现在有一个 DATE 类型
  • 我知道它确实如此,@Hogan,它是在 SQl Server 2008 中添加的(如果我没记错的话)但是你指的是哪个答案?有80这些链接之间的答案

标签: sql count ssms


【解决方案1】:

您需要像这样使用 GROUP BY

SELECT CAST(DateTimeMessage AS DATE) as D, COUNT(*) as CNT
FROM table
GROUP BY CAST(DateTimeMessage AS DATE)

SELECT MONTH(CAST(DateTimeMessage AS DATE)) as M, COUNT(*) as CNT
FROM table
GROUP BY MONTH(CAST(DateTimeMessage AS DATE))

你可以添加一个

WHERE YEAR(CAST(DateTimeMessage AS DATE)) = 2021 

如果您只想要一年(在 FROM 之后的 GROUP BY 之前)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    相关资源
    最近更新 更多