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

SQL Server按日期统计healthRegistration表健康填报不同状态条数的实现方法

SQL Server 按日期统计健康登记数据的实现方案

你可以通过条件聚合+日期格式化的方式实现需求,SQL Server 中Bool类型实际映射为bit类型,取值0代表False,1代表True,具体查询语句如下:

SELECT
    CAST(RegisterDateTime AS DATE) AS 登记日期,
    SUM(CASE WHEN RUFeelingWell = 0 THEN 1 ELSE 0 END) AS 当日RUFeelingWell为False的记录总数,
    SUM(CASE WHEN RUFeelingWell = 1 THEN 1 ELSE 0 END) AS 当日RUFeelingWell为True的记录总数
FROM healthRegistration
GROUP BY CAST(RegisterDateTime AS DATE)
-- 可选按日期排序,方便查看最新记录
ORDER BY 登记日期 DESC;

语句说明

  • 用CAST(RegisterDateTime AS DATE)把带时分秒的登记时间转换为纯日期格式,实现按天分组统计
  • 条件聚合逻辑:通过CASE语句判断RUFeelingWell的取值,匹配对应值就计数1,否则计数0,再通过SUM求和得到对应分类的总数量
  • 最后通过GROUP BY按转换后的日期维度聚合数据

如果使用SQL Server 2012及以上版本,还可以用更简洁的IIF函数简化写法:

SELECT
    CAST(RegisterDateTime AS DATE) AS 登记日期,
    SUM(IIF(RUFeelingWell = 0, 1, 0)) AS 当日RUFeelingWell为False的记录总数,
    SUM(IIF(RUFeelingWell = 1, 1, 0)) AS 当日RUFeelingWell为True的记录总数
FROM healthRegistration
GROUP BY CAST(RegisterDateTime AS DATE)

内容的提问来源于stack exchange,提问作者Felipe K. Bernardino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:48:07