You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SQL统计当前日期Lesson1的‘Present’及‘Absent’记录数?

统计当前日期Lesson1的出勤记录数量

要同时统计当前日期下Lesson1的Present和Absent记录数量,你可以在WHERE子句中添加当前日期的筛选条件,同时通过分组查询一次性得到两种状态的统计结果:

SELECT 
    Lesson_1 AS 出勤状态,
    COUNT(*) AS 记录数量
FROM [Attendance_Management_System].[dbo].[Attendance_Table]
WHERE 
    -- 匹配当前日期(忽略时间部分)
    CAST(Attendance_Date AS DATE) = CAST(GETDATE() AS DATE)
    -- 仅筛选目标状态
    AND Lesson_1 IN ('Present', 'Absent')
GROUP BY Lesson_1;

关键说明:

  • CAST(Attendance_Date AS DATE):如果Attendance_Date是带时间的datetime类型,转换为DATE类型可以只匹配日期部分,避免时间差异导致的筛选遗漏
  • CAST(GETDATE() AS DATE):获取SQL Server服务器的当前日期
  • GROUP BY Lesson_1:按出勤状态分组,一次性统计两种状态的数量

如果你需要分别查询两种状态的数量,也可以用以下写法:

-- 统计Present数量
SELECT COUNT(*) AS Present数量
FROM [Attendance_Management_System].[dbo].[Attendance_Table]
WHERE CAST(Attendance_Date AS DATE) = CAST(GETDATE() AS DATE)
  AND Lesson_1 = 'Present';

-- 统计Absent数量
SELECT COUNT(*) AS Absent数量
FROM [Attendance_Management_System].[dbo].[Attendance_Table]
WHERE CAST(Attendance_Date AS DATE) = CAST(GETDATE() AS DATE)
  AND Lesson_1 = 'Absent';

内容的提问来源于stack exchange,提问作者khalid alsabbali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 03:03:27