【问题标题】:sql save row count of query every daysql每天保存查询的行数
【发布时间】:2025-12-19 04:40:11
【问题描述】:

我想创建一个重要的视图或表格,例如。查询执行当天的学生总数,并每天添加行结果。问题是表格上的日期列每天都会更改为当前日期。

SELECT
     COUNT(*) AS no_of_Students
     ,CAST(GETDATE() AS DATE) as DATE
FROM mySchool 
WHERE students=1

No of student  .  Date
-----------------------
8              .  2019.02.06
15             .  2019.02.07    

(下一行应该在运行查询时自动更新到第二天)

【问题讨论】:

  • 创建一个包含所有感兴趣日期的日历表(或 cte)。 OUTER JOIN 那张表。
  • 能不能把当天的count结果保存下来不改写呢
  • 显示你的 mySchool 表的结构,为什么你使用 Getdate(),你的表中没有日期列吗?
  • 我愿意,但日期栏每天都会更改为当前日期。它是一个处理日期

标签: sql datetime save rowcount


【解决方案1】:

您不应该使用GETDATE(),您需要选择 mySchool 表中的日期列。

您需要编写如下查询。

SELECT
COUNT(*) as [no_of_Students]
,CAST([DateCoulumn] AS DATE) as [DATE]
FROM [mySchool]
GROUP BY CAST(DateCoulumn AS DATE)
ORDER BY CAST(DateCoulumn AS DATE)

注意:您需要将DateCoulumn 替换为正确的列名。

【讨论】:

  • 是否将明天日期的结果添加为新行,即使日期列已更新为明天日期
  • 是的,如果表格中包含日期,肯定会出现。