sql server最后一行汇总每一列合计
时间: 2024-09-27 15:01:49 浏览: 43
SQL Server 中,如果你想要获取表的最后一行并计算每列的合计,通常会使用窗口函数 `ROW_NUMBER()` 结合 `WITH` 子句。假设有一个名为 `table_name` 的表,你可以这样做:
```sql
WITH ranked_table AS (
SELECT *, ROW_NUMBER() OVER (ORDER BY [your_sort_column] DESC) as row_num
FROM table_name
)
SELECT *
FROM ranked_table
WHERE row_num = ROW_NUMBER() OVER () -- 获取最后一行
```
这里的关键点是在 `ranked_table` CTE(Common Table Expression)中添加了行号,然后通过 `WHERE` 条件取最后一个行。但是,如果你想对每一列做汇总(总计),你应该直接在 `SELECT` 语句中添加 `SUM(column_name)` 函数,例如:
```sql
SELECT SUM(column1), SUM(column2), SUM(column3)
FROM (
SELECT column1, column2, column3
FROM table_name
ORDER BY [your_sort_column] DESC
) subquery
OFFSET (SELECT COUNT(*) FROM table_name) ROWS FETCH NEXT 1 ROW ONLY
```
这个查询首先按你需要排序的列降序排列,然后跳过所有行获取最后一行,同时对每一列求和。
阅读全文