1. 从一张积分流水表说起昨日新增和累计积分到底怎么查做运营对账的朋友大概率遇到过这种需求每天早上打开后台想看一眼昨天新增了多少积分、当前累计积分池还剩多少。听起来简单真写起 SQL 来却容易翻车——日期边界没对齐、跨天数据算重、累计口径和新增口径混在一起。这篇就聚焦 Sql server 里统计昨日新增积分与累计积分的查询场景面向需要每日对账的运营或开发人员。我会先给出一套可复制的建表与查询 SQL 骨架再演示怎么通过 TaoToken 统一 Key 在 Cline 的 settings.json 里完成配置让 AI 辅助你写 SQL、改 SQL、验证 SQL最后用一条验证查询确认昨日新增与累计积分结果正确。核心检索词先摆出来Sql server 查昨日新增积分、累计积分统计、按天对账查询。适合谁每天要出积分日报的运营、写对账脚本的后端、以及想用 AI 帮自己写 SQL 但不想来回切账号的开发者。先说结论昨日新增靠日期函数卡边界累计积分靠全量聚合或余额字段两者口径必须分开写别用一条 SQL 硬凑。下面一步步来。2. 建表与查询骨架昨日新增、累计积分分开算2.1 先建一张积分流水表假设表名沿用常见的IntellManuSchool_UserPoints字段包含用户、积分、时间。建表语句如下你可以直接复制到 SSMS 里跑CREATE TABLE IntellManuSchool_UserPoints ( Id INT IDENTITY(1,1) PRIMARY KEY, UserId INT NOT NULL, Points INT NOT NULL, -- 正数为获得负数为消耗 AddTime DATETIME NOT NULL, Remark NVARCHAR(200) NULL );插入几条测试数据方便后面验证结果INSERT INTO IntellManuSchool_UserPoints (UserId, Points, AddTime, Remark) VALUES (1001, 50, CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE()-1, 120) 09:12:00, 120), N昨日签到), (1002, 30, CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE()-1, 120) 14:35:00, 120), N昨日任务), (1003, -10, CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE()-1, 120) 20:01:00, 120), N昨日兑换), (1001, 20, CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 120) 08:30:00, 120), N今日签到), (1004, 100, CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE()-2, 120) 11:00:00, 120), N前日奖励);2.2 昨日新增积分两种写法对比第一种是字符串截断比较也就是把时间转成yyyy-MM-dd再和昨天比SELECT SUM(Points) AS 昨日新增 FROM IntellManuSchool_UserPoints WHERE CONVERT(VARCHAR(10), AddTime, 120) CONVERT(VARCHAR(10), GETDATE()-1, 120);第二种是DATEDIFF写法SELECT SUM(Points) AS 昨日新增 FROM IntellManuSchool_UserPoints WHERE DATEDIFF(dd, AddTime, GETDATE()-1) 0;两种都能出结果但有个坑要提醒CONVERT(VARCHAR(10), ...)会让AddTime上的索引失效数据量大时全表扫描。DATEDIFF写法同样对列做了函数运算索引也用不上。如果表有几十万行以上建议改成范围查询SELECT SUM(Points) AS 昨日新增 FROM IntellManuSchool_UserPoints WHERE AddTime CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE()-1, 120) 00:00:00, 120) AND AddTime CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 120) 00:00:00, 120);范围查询能走索引边界也清晰左闭右开昨天零点到今日零点不会把今天的数据算进来。2.3 累计积分全量聚合还是余额字段累计积分有两种口径先想清楚你要哪种。口径一历史所有流水求和也就是积分池总量SELECT SUM(Points) AS 累计积分 FROM IntellManuSchool_UserPoints;口径二每个用户当前余额通常业务表里会单独维护一个Balance字段直接查更快SELECT UserId, SUM(Points) AS 当前余额 FROM IntellManuSchool_UserPoints GROUP BY UserId;对账日报一般两个都要一个看总量一个看分布。把昨日新增和累计放一条 SQL 里也行用子查询SELECT (SELECT SUM(Points) FROM IntellManuSchool_UserPoints WHERE AddTime CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE()-1, 120) 00:00:00, 120) AND AddTime CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 120) 00:00:00, 120)) AS 昨日新增, (SELECT SUM(Points) FROM IntellManuSchool_UserPoints) AS 累计积分;跑出来应该是一行两列昨日新增 705030-10累计积分 1907020100。数字对不上就往下看排障部分。3. TaoToken 前置统一 Key 与 API 通道准备写 SQL 这件事本身不需要联网但如果你想让 AI 帮你改 SQL、解释执行计划、生成对账脚本就需要一个稳定的模型通道。TaoToken 在这里的角色是统一 Key 和 API 通道一个 Key 走多个模型不用在 Cline、Cursor、脚本之间来回换配置。官网入口在这里https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 注意 API 地址不带 UTM 参数配置时别写错。你需要准备的东西只有一样一个 API Key。获取路径是控制台的 API Keys 页面直达链接https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content拿到 Key 之后先别急着写进配置建议在模型对话页面先试一句确认通道通不通https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content如果你主要用 Cline 做长期编码和 SQL 辅助可以了解下 Coding Plan适合高频调用场景https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 配置字段有疑问时对照文档最稳。4. 在 Cline 的 settings.json 里完成配置4.1 找到配置文件位置Cline 是 VS Code 插件配置一般写在用户设置里。打开 VS Code按CtrlShiftP输入Preferences: Open User Settings (JSON)在打开的settings.json里加 Cline 相关字段。不同版本字段名可能略有差异以接入文档为准。4.2 写入统一 Key 配置下面是一份可复制的配置骨架把apiKey换成你自己的{ cline.apiProvider: openai, cline.openAiApiKey: sk-你的TaoTokenKey, cline.openAiBaseUrl: https://taotoken.net/api, cline.openAiModelId: claude-sonnet-4-20250514, cline.enableStreaming: true }几个字段说明一下。apiProvider选openai兼容模式因为 TaoToken 的 API 通道兼容 OpenAI 格式。openAiBaseUrl填https://taotoken.net/api结尾不要多加斜杠。openAiModelId按你实际要用的模型填模型列表在文档里能查到。如果你用的是 Anthropic 协议通道配置字段会不一样参考 ClaudeCodeAnthropic 相关文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content4.3 保存后重载窗口改完settings.json保存按CtrlShiftP执行Developer: Reload Window让插件重新读取配置。重载后在 Cline 面板里发一句「你好」测试能正常回复就说明通道通了。5. 验证请求让 AI 帮你跑通查询并核对结果5.1 用一条验证查询确认口径配置好之后把下面这条验证查询丢给 Cline让它解释每一段在做什么SELECT CONVERT(VARCHAR(10), GETDATE()-1, 120) AS 统计日期, (SELECT SUM(Points) FROM IntellManuSchool_UserPoints WHERE AddTime CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE()-1, 120) 00:00:00, 120) AND AddTime CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 120) 00:00:00, 120)) AS 昨日新增, (SELECT SUM(Points) FROM IntellManuSchool_UserPoints) AS 累计积分;按前面插入的测试数据预期结果是统计日期为昨天昨日新增 70累计积分 190。如果昨日新增跑出 90说明把今天的 20 也算进去了边界写错了如果跑出 170说明漏了昨天的 -10符号处理有问题。5.2 让 AI 生成对账脚本在 Cline 里输入这样的提示词基于 IntellManuSchool_UserPoints 表写一个存储过程 输入日期参数 StatDate输出该日新增积分和截至该日的累计积分。 要求用范围查询走索引边界左闭右开。AI 会给你一份带参数的存储过程骨架你检查逻辑后直接在 SSMS 里建。这样每天对账只需要传一个日期不用改 SQL。5.3 结果核对的小技巧对账最怕口径不一致。建议在流水表里加一个Remark字段标记来源日报里按来源分组昨日新增就能拆成签到、任务、兑换几块哪块异常一眼看出来SELECT Remark, SUM(Points) AS 分项新增 FROM IntellManuSchool_UserPoints WHERE AddTime CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE()-1, 120) 00:00:00, 120) AND AddTime CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 120) 00:00:00, 120) GROUP BY Remark;6. 本篇常见错排查6.1 昨日新增算多了或算少了最常见的原因是日期边界。GETDATE()-1得到的是「当前时间减一天」不是「昨天零点」。如果你直接写WHERE AddTime GETDATE()-1几乎永远查不到数据因为时间戳精确到毫秒。正确做法是先转成日期字符串再拼零点或者用CAST(GETDATE() AS DATE)配合DATEADD。另一个原因是DATEDIFF(dd, AddTime, GETDATE()-1) 0这种写法当AddTime是今天但GETDATE()-1是昨天时DATEDIFF可能返回 1 而不是 0边界会漂。范围查询最稳。6.2 累计积分和余额对不上累计积分用SUM(Points)全量求和如果表里有软删除标记比如IsDeleted你没过滤就会把已删除的流水也算进去。检查一下表结构有删除标记就加WHERE IsDeleted 0。还有一种情况是积分有过期扣减过期流水也记在表里那累计积分天然会偏低这是业务口径问题不是 SQL 问题需要和产品确认。6.3 Cline 配置后不生效先检查settings.json的 JSON 格式多一个逗号都会导致整个文件解析失败。然后确认openAiBaseUrl是https://taotoken.net/api不要写成带路径的完整接口地址。如果还是不生效重载窗口再不行就看 Cline 的输出面板里面会打印请求错误码401 一般是 Key 错了404 一般是 BaseUrl 写错了。6.4 查询慢、走全表扫描在 SSMS 里开「包含实际执行计划」看AddTime上有没有 Index Scan。如果建了索引还是扫描多半是WHERE里对列用了函数。把CONVERT(VARCHAR(10), AddTime, 120) ...改成范围查询索引就能用上。数据量特别大时考虑按AddTime做分区。7. 把查询脚本和统一 Key 串起来到这里Sql server 查昨日新增和累计积分的骨架你已经有了建表、范围查询、子查询合并、分项核对每一步都能直接复制去跑。TaoToken 统一 Key 的价值在于你写 SQL 遇到报错、想优化执行计划、要生成存储过程时不用在多个工具和账号之间切换一个 Key 在 Cline 里就能把模型通道跑通。后续如果要把对账做成每日定时任务可以把存储过程挂到 SQL Server Agent 作业里输出结果写进日报表。模型通道这边长期高频用建议走 Coding Plan配置和 Key 管理都在控制台统一处理。接入细节以文档为准遇到配置字段不确定时对照文档改比猜字段名快得多。
企业数字化 ERP 产品动态
相关推荐
内部客户管理系统落地复盘:从需求梳理到实践避坑 做内部系统这几年,最深的体会是:真正复杂的不是技术框架,也不是数据库表怎么设计,而是业务方自己都说不清楚“你到底想要什么”。最近我们团队刚上线了一个叫 DeskcommCRM 的内部客户管理系统,从立项到跑通主流程前后… · 2026/9/26 9:15:27
Win11以太网自动协商降速原因与千兆恢复方案 1. 项目概述:这不是网卡坏了,是Win11悄悄给你“限速”了 Win11更新后,明明家里装的是千兆宽带,路由器和网线都支持2.5G,笔记本插着原装雷电4扩展坞接千兆网口,结果在“设置→网络和Internet→以太网”里一看… · 2026/9/26 9:15:27
智慧文旅沉浸式体验:AI漫剧制作与AI电影后期渲染全流程实战 1. 从一条政策看智慧文旅的落地切口黑龙江推动智慧文旅沉浸式体验新空间这件事,落到技术执行层面,最值得关注的其实是两个具体方向:AI漫剧制作和AI电影后期渲染。前者解决的是文旅内容“怎么快速生产、怎么低成本试错”的问题,后者… · 2026/9/26 9:59:53
华为Atlas 300V 24G部署YOLOv5/v8:NPU推理加速卡实战全流程 大家搜“atlas部署yolo”、“atlas 300v 24g 是运算加速卡吗”的时候,大概率不是冲着地图软件去的,而是想搞明白华为昇腾(Ascend)这套AI硬件到底能不能用来跑自己的YOLO模型。我先给个明确结论:Atlas 300V 24G确实是运… · 2026/9/26 9:59:53
Python展示正态分布 正态分布在统计学中具有重要地位,被广泛用于描述现实世界中的许多随机现象。通过不同形式的正态分布模型,可以处理各种数据特征和应用场景。标准正态分布作为基础分布形式,常用于数据的标准化和统计推断;对数正态分布则用于描述对数呈正态分布的变量,如金融市场中的资产价… · 2026/9/26 9:59:47
2010 INFORMS探索60分钟内股价预测挑战 金融市场中股价波动瞬息万变,对其进行短期趋势预测一直是数据科学与金融工程领域的重要研究课题。随着高频交易与量化策略的兴起,构建精确的预测模型正逐步成为核心竞争力之一。
本文聚焦于Kaggle平台的INFORMS数据挖掘竞赛任务,围绕其背景数据、建模目标、方法实现与扩展流… · 2026/9/26 9:59:47
Python实现离散分布分析 在概率论与统计学中,离散分布是用于刻画随机现象的一类重要模型。离散分布描述的是离散型随机变量的概率分布,适用于有限或可数无限个可能结果的情况。通过不同类型的离散分布模型,可以模拟多种真实世界的随机现象,这些模型各自反映了不同类型的实验或事件行为模式。
本文… · 2026/9/26 9:59:41
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46