如何从包含所有列的查询中获取总行数

时间:2014-05-22 12:20:23

标签: sql

我有这个简单的查询,我想检索select语句现在正在选择的所有数据(正确),加上我想使用相同的查询获取总行数我该怎么做。如何使用以下查询添加总行查询?

SELECT
tblTaxingSchemeDetails.TaxSchemeDetailsId,
tblTaxingScheme.TaxSchemeId, 
tblTaxingScheme.TaxSchemeName, 
tblTaxingSchemeDetails.TaxType,
TaxName,
tblTaxingSchemeDetails.TaxRate
From tblTaxingScheme INNER JOIN tblTaxingSchemeDetails  
On tblTaxingScheme.TaxSchemeId = tblTaxingSchemeDetails.TaxSchemeId
INNER JOIN tblTaxType 
on tblTaxingSchemeDetails.TaxType = tblTaxType.TaxTypeID
where tblTaxingScheme.TaxSchemeId =5@TaxSchemeId

3 个答案:

答案 0 :(得分:2)

此结果的最后一项有一个等于记录数的行号。

SELECT
ROW_NUMBER() over(tblTaxingSchemeDetails.TaxSchemeDetailsId)as SeqNo,
tblTaxingSchemeDetails.TaxSchemeDetailsId,
tblTaxingScheme.TaxSchemeId, 
tblTaxingScheme.TaxSchemeName, 
tblTaxingSchemeDetails.TaxType,
TaxName,
tblTaxingSchemeDetails.TaxRate
From tblTaxingScheme INNER JOIN tblTaxingSchemeDetails  
On tblTaxingScheme.TaxSchemeId = tblTaxingSchemeDetails.TaxSchemeId
INNER JOIN tblTaxType 
on tblTaxingSchemeDetails.TaxType = tblTaxType.TaxTypeID
where tblTaxingScheme.TaxSchemeId =5@TaxSchemeId

答案 1 :(得分:0)

SELECT * COUNT(*)OVER()AS [Total_Rows] FROM table 1 innerjoin table 2

答案 2 :(得分:0)

您可以通过此查询获得所需的结果...还会提醒此查询与普通查询相比需要更多资源......

SELECT
COUNT(tblTaxingSchemeDetails.TaxSchemeDetailsId) over(PARTITION BY tblTaxingScheme.TaxSchemeId)     as h,
tblTaxingSchemeDetails.TaxSchemeDetailsId,
tblTaxingScheme.TaxSchemeId, 
tblTaxingScheme.TaxSchemeName, 
tblTaxingSchemeDetails.TaxType,
TaxName,
tblTaxingSchemeDetails.TaxRate
From tblTaxingScheme INNER JOIN tblTaxingSchemeDetails  
On tblTaxingScheme.TaxSchemeId = tblTaxingSchemeDetails.TaxSchemeId
INNER JOIN tblTaxType 
on tblTaxingSchemeDetails.TaxType = tblTaxType.TaxTypeID
where tblTaxingScheme.TaxSchemeId =5@TaxSchemeId