SQL 窗口函数如何计算商品销量占分类总量的比例
计算商品销量占分类总量的比例,核心是把分母写成 `SUM(sales) OVER(PARTITION BY category)`,再处理好整数除法、零值分母和版本兼容。本文按“正确写法、避坑、防精度误判、旧版替代方案”梳理,方便直接落到查询里。
2026-08-22
15
计算商品销量占分类总量的比例,核心是把分母写成 `SUM(sales) OVER(PARTITION BY category)`,再处理好整数除法、零值分母和版本兼容。本文按“正确写法、避坑、防精度误判、旧版替代方案”梳理,方便直接落到查询里。

本文围绕 SQL 中的 ROLLUP 用法展开,说明它如何按字段顺序生成小计与总计、如何识别结果中的汇总行,以及何时该改用 CUBE 或 GROUPING SETS。文中保留关键 SQL 写法,并补充了大表场景下的使用注意点。 在报表、经营分析和分层汇总场景里,很多人知道 ROLLUP 能“顺手带出总计”,但真正写到查询里时,往往会被层级顺序、 NULL 含义和标签显示。

SQL Server 存储过程给业务系统回传数据时,最常见的三条通道是 `SELECT`、`OUTPUT` 和 `RETURN`,但它们适用范围完全不同。本文按调用场景拆开说明:什么时候该回结果集,什么时候只回标量,为什么 `RETURN` 不能当业务数据通道,以及多结果集场景下客户端该如何正确消费。

子查询并不会天然带来 SQL 注入,风险点始终是把用户输入直接拼进 SQL 字符串。判断是否安全的关键只有两条:结构化动态内容做白名单校验,所有用户可控的值一律参数化绑定,而且要覆盖到最内层子查询。
