使用DB2计算select子句中的行数

时间:2013-09-07 22:05:16

标签: sql zend-framework select db2

除了select语句在单独的列中返回的所有行之外,我想查询DB2表并获取查询的所有结果。

,例如,如果表包含列'id'和'user_id',假设有100行,则查询结果将以这种格式显示:(id)| (user_id)| 100。

我不希望在查询中使用'group by'子句。 (以防万一你对我的要求感到困惑)另外,我在这里找不到一个例子:http://mysite.verizon.net/Graeme_Birchall/cookbook/DB2V97CK.PDF

此外,如果有更有效的方法来获得这两个结果(值+计数),我会欢迎任何想法。我的环境使用zend framework 1.x,它没有DB2的ODBC适配器。 (参见问题http://framework.zend.com/issues/browse/ZF-905。)

2 个答案:

答案 0 :(得分:4)

如果我理解你的要求,那么答案应该是

select t.*, g.tally
  from mytable t,
       (select count(*) as tally
          from mytable
       ) as g;

如果这不是您想要的,那么请提供所需输出的实际示例,假设有3到5条记录,以便我们可以准确地看到您想要的内容。

答案 1 :(得分:0)

您可以使用窗口/分析函数:

select t.*, count(*) over() as NumRows
from table t;

这适用于您拥有的任何类型的查询。