我希望在运行任何给定查询时保存受影响的总行数,作为我的T-SQL查询中的变量。简而言之,如果我运行的查询返回2348条记录,我希望名为Total
的整数变量等于2348.这样我可以使用运行附加代码的if
语句,如果找到的总行数给定的查询是0.
我已声明变量@TOTAL
并将其设置为等于子查询,当独立运行时,它将返回我想要int
变量@TOTAL
的行数持。
因此,如果子查询返回490行,我希望int
变量@TOTAL等于490.
DECLARE @TOTAL int
set @TOTAL = (select distinct TRADE_REP_ORIG
from trade_archive
where error_code = 'r'
group by TRADE_FIRM_ORIG, TRADE_OFFICE_ORIG, TRADE_REP_ORIG)
print @TOTAL
我尝试在子查询中使用count()
函数,但这似乎也不起作用。
答案 0 :(得分:3)
答案 1 :(得分:1)
这应该有效:
DECLARE @TOTAL int
select @TOTAL = COUNT(DISTINCT TRADE_REP_ORIG)
from trade_archive
where error_code = 'r'
print @TOTAL
请注意,选择不同的值时,GROUP BY
对结果没有影响。