如何在SQL Server中添加显示表总行数的列
给数据表添加总行数列的实现方案
需求说明
为现有数据表的每一行新增TOTAL列,列值为表的总行数(示例中总行数为4)。
推荐方法:窗口函数(高效简洁)
多数现代数据库(如PostgreSQL、SQL Server、MySQL 8.0+等)支持窗口函数,用COUNT(*) OVER()可以直接计算整个结果集的行数,无需额外关联操作:
SELECT Name, PAT_ID, COUNT(*) OVER() AS TOTAL FROM 你的表名;
兼容旧版数据库的方法:子查询关联
如果使用的数据库不支持窗口函数(如MySQL 5.x及更早版本),可以通过子查询获取总行数,再与原表做笛卡尔积关联:
SELECT t.Name, t.PAT_ID, total_rows.TOTAL FROM 你的表名 t CROSS JOIN (SELECT COUNT(*) AS TOTAL FROM 你的表名) total_rows;
执行结果示例
Name PAT_ID TOTAL ------------------------------------ Brian 123 4 Brian 356 4 Brian 3546 4 Brian 987 4
内容的提问来源于stack exchange,提问作者KapSht
相关产品推荐
相关产品推荐

