【问题标题】:Row Count in Result using CTE使用 CTE 计算结果中的行数
【发布时间】:2015-01-07 15:18:10
【问题描述】:

我有以下查询

;with a as (
  select Id,Type,Description from wo)
  select * from a

输出

 Id    Type    Description 
 1      a        sadf
 2      a        ewrw
 3      b        223

我需要一个包含所有行总数的 cloumn,如下所示

 Id    Type    Description   RowCount
 1      a        sadf          3 
 2      a        ewrw          3
 3      b        223           3

如何使用 CTE 解决此问题 请帮帮我。

【问题讨论】:

    标签: sql sql-server-2008 sql-server-2005 sql-server-2008-r2 sql-server-2012


    【解决方案1】:

    你可以在2005+使用count(*) over ()

    ;with a as (
      select Id,
             Type,
             Description, 
             count(*) over () as "RowCount"
      from wo)
      select * 
      from a
    

    虽然你根本不知道为什么需要 CTE。

      select Id,
             Type,
             Description, 
             count(*) over () as "RowCount"
      from wo
    

    也可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多