仅来自Zend_DB Select语句(子查询)的COUNT(*)

时间:2012-04-01 11:13:54

标签: php mysql sql zend-framework zend-db

我试图围绕现有的Zend_Db select语句包装count(*)查询,但我能得到的只有:

SELECT `t`.*, COUNT(*) AS `TotalRecords` FROM (SELECT ....) AS `t`

但是我喜欢摆脱t。*因为我只需要计数(*)。

到目前为止,这是我的代码:

$db = Zend_Registry::get('db');
$select = $dbmodel->getSomething(); //zend select object
$outterSelect = new Zend_Db_Select($db);
$outterSelect->from($select)->columns(array('TotalRecords' => new Zend_Db_Expr('COUNT(*)')));
echo $outterSelect->__toString();

感谢任何帮助!

1 个答案:

答案 0 :(得分:5)

您可以简单地写一下:

$outterSelect->from($select, 'COUNT(*) as TotalRecords');