我的情况非常紧张。我在SQL Server 2005上运行SQL查询:
SELECT col1,col2,col3 FROM myTable
当然给出了:
col1 | col2 | col3
------------------
1 | a | i
2 | b | ii
等
如果可能,我需要添加COUNT个查询,以便返回返回的记录数。我不能使用GROUP BY或聚合函数(在某些非常不灵活的软件上,它是非常边缘情况)。
理想情况下,这样的事情:
SELECT col1,col2,col3,COUNT(NumberOfRows) as NumRows FROM myTable
col1 | col2 | col3| NumRows
---------------------------
1 | a | i | 2
2 | b | ii | 2
我意识到这很糟糕。并且效率低下。并反对所有良好做法。但我正处于一个软件的角落,它的架构在1991年被冻结了!
答案 0 :(得分:2)
Uuh所以事实证明我的同事在提问后30秒回答了答案。
正确的语法是:
SELECT col1,col2,col3,@@ROWCOUNT as NumRows FROM myTable
答案 1 :(得分:1)
看起来使用@@ ROWCOUNT将返回 上一个 查询处理的行数,因此我不确定这是否是有效的解决方案。我认为这是因为在运行查询 后,@@ ROWCOUNT在内部设置 ,因此最好在查询完成后使用。因此,它不会返回由其放置的查询处理的行数。