我有一张有 2 张钞票的桌子。行。我无法在没有崩溃的情况下在浏览器中显示它们,因此只会返回前 10 行,但我的表格的第一行需要是所有 2 个账单的总和。行。
我的想法是选择所有行并计算总数,然后在同一张表上仅使用前 10 行进行联合。这样我就不需要两次运行相同的查询。
但是你的经验和想法是什么。
谢谢
你可以试试这个
select SUM(total) from bill
union
select top (10) * from bill
SQLServer2005+
在我的示例中,我对行函数 ROW_NUMBER() 进行了编号,如果 rows = 11 然后将 SUM(total) 上的总计替换为 OVER() 子句
SELECT TOP(11) CASE WHEN (ROW_NUMBER() OVER (ORDER BY (SELECT 1))) = 11 THEN SUM(total) OVER() ELSE total END
FROM dbo.your_table