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

如何在SQL Server Management Studio 2012中创建每日唯一键计数矩阵

解决方案

完全可以通过单次SQL查询直接生成你需要的统计矩阵,不需要管理员权限,仅用普通查询权限即可实现,无需重复运行多次查询。
以下根据你的统计需求提供两种适配方案:

方案1:匹配你当前手动统计的「截至当日累计唯一键行数」

和你每次修改日期手动执行的查询结果完全一致,单次查询即可输出所有日期的累计统计值,SQL如下:

SELECT
    DATE_FORMAT(RecordCreatedDate, '%d/%m/%Y') AS Date_For_Data,
    DATE_FORMAT(RecordCreatedDate, '%d/%m/%Y') AS Date_data_checked,
    (SELECT COUNT(UniqueKey) FROM TableName t2 WHERE t2.RecordCreatedDate <= DATE(t1.RecordCreatedDate)) AS `Count`
FROM TableName t1
GROUP BY DATE(RecordCreatedDate)
ORDER BY DATE(RecordCreatedDate) ASC;

提示:如果你的统计逻辑是取「统计日期前一天及之前的累计值」,把子查询里的<=改为<即可。
如果你的数据库支持CTE和窗口函数,推荐使用效率更高的版本:

WITH daily_add_count AS (
    SELECT
        DATE(RecordCreatedDate) AS stat_date,
        COUNT(UniqueKey) AS daily_num
    FROM TableName
    GROUP BY DATE(RecordCreatedDate)
)
SELECT
    DATE_FORMAT(stat_date, '%d/%m/%Y') AS Date_For_Data,
    DATE_FORMAT(stat_date, '%d/%m/%Y') AS Date_data_checked,
    SUM(daily_num) OVER (ORDER BY stat_date ASC) AS `Count`
FROM daily_add_count
ORDER BY stat_date ASC;

方案2:统计每日新增的唯一键行数

如果你后续需要按天统计新增的唯一键数据量,直接用分组聚合即可实现,逻辑更简单:

SELECT
    DATE_FORMAT(RecordCreatedDate, '%d/%m/%Y') AS Date_For_Data,
    DATE_FORMAT(RecordCreatedDate, '%d/%m/%Y') AS Date_data_checked,
    COUNT(UniqueKey) AS `Count`
FROM TableName
GROUP BY DATE(RecordCreatedDate)
ORDER BY DATE(RecordCreatedDate) ASC;

上述两种方案的查询结果都可以直接导出为CSV格式,复制粘贴到Excel即可匹配你当前使用的表格格式,无需额外手动整理。

注:不同数据库的日期格式化函数略有差异,SQL Server可替换为CONVERT(VARCHAR, stat_date, 103),Oracle可替换为TO_CHAR(stat_date, 'dd/mm/yyyy')。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:27:04