2010-01-28 42 views
0

我有这个疑问:结合2查询 - SQL Server 2008中的问题

select count (convert(varchar(50), TmpDate, 103)),convert(varchar(50), TmpDate, 103) 
from MEN 
group by TmpDate 
order by TmpDate desc 

,我需要去数有多少行返回

我怎么能结合SELECT COUNT(.....和QUERY1?我需要在一个查询提前

感谢

回答

1

您可以使用SELECT @@ROWCOUNT返回受上一个SQL语句的行数。

http://www.brettb.com/SQL_Help_Rowcount_Rows_Affected.asp

UPDATE:返回一个行数的查询最简单的方法就是使用一个子查询:

SELECT COUNT(*) FROM (
    -- My sql statement 
) AS ResultSet 

例如:

SELECT COUNT(*) FROM (
    select count (convert(varchar(50), TmpDate, 103)),convert(varchar(50), TmpDate, 103) 
    from MEN 
    group by TmpDate 
    order by TmpDate desc 
) AS ResultSet 

有可能通过查看查询来计算行数的巧妙方法,但使用像这样的子查询并不需要您对wha进行太多的思考t执行的查询。

+0

感谢您的帮助!,但如果我不想看到查询的结果 - 只有行数? – Gold 2010-01-28 10:50:28

+0

@Kragen,应该是@@ ROWCOUNT .. – RameshVel 2010-01-28 10:51:01

+0

再次感谢!但我得到这个错误:Msg 1033,Level 15,State 1,Line 14 除非指定TOP或FOR XML,否则ORDER BY子句在视图,内联函数,派生表,子查询和公用表表达式中无效。 – Gold 2010-01-28 12:40:56