在同一查询中获取计数和行数

时间:2013-02-07 05:21:35

标签: sql sql-server-2008

是否可以在同一查询中获取总表countrows。像这样的东西

SELECT COUNT(1),*
FROM tbl
GROUP BY ALL

4 个答案:

答案 0 :(得分:6)

你可以尝试这样的事情:

SELECT
    COUNT(*) OVER (),
    (list of your other columns here)
FROM dbo.YourTableNameHere

OVER()子句将为您提供查询中所有行的计数。

答案 1 :(得分:2)

试试这个,

SELECT (select count(*) from table), b.*
  FROM table b;

答案 2 :(得分:2)

您可以使用:

1)select column1,coulmn2,COUNT(*) OVER (PARTITION BY 1) as RowCnt from #Table;

2)使用交叉连接方法:

SELECT a.*, b.numRows
      FROM TABLE a
CROSS JOIN (SELECT COUNT(*) AS numRows
              FROM TABLE) b

答案 3 :(得分:1)

我也找到了这个,marc_c的答案会比这个更好

SELECT (SELECT COUNT(1) from tbl) AS Total,*
FROM tbl