如何执行后获得的行数?
我的查询是:
SELECT a.Emp,b.orders
from table as a inner join table1 b
on a.ID = B.ID
如何找到上述连接中返回的行数?
答案 0 :(得分:6)
-- statement here
SELECT @@ROWCOUNT;
你也可以在声明的每一行都得到它,但当然这有点贵,例如。
SELECT x, y, z, COUNT(*) OVER() FROM ...
答案 1 :(得分:5)
您必须使用具有相同条件的SELECT COUNT(*) ...
或通过ROW_NUMBER
函数添加包含行数的列:
SELECT a.Emp,b.orders, RN = ROW_NUMBER () OVER (ORDER BY a.Emp,b.orders)
FROM table as a inner join table1 b on a.ID=B.ID
...或在选择后使用@@ROWCOUNT
。
而不是ROW_NUMBER
更容易使用COUNT(*) OVER ( Order By ...)
,其中每行包含相同的总计数,而ROW_NUMBER
将返回一个序列号,其中只有最后一条记录(符合{ {1}})将有总计数。
所以Aaron已经指出in his answer。