2012-04-01 1 views
2

から(*)COUNT:もっぱら私は既存のZend_Dbのselect文を中心にCOUNT(*)クエリをラップしようとしているが、私は得ることができたすべてがあるZend_DbのSELECT文(サブクエリ)

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(); 

すべてのヘルプは歓迎です!

答えて

5

あなたは、単に書くことができます。

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

は、また、唯一の選択$使用して結果を取得することが可能であろう。それは$ dbなしであることを意味しますか? – dforce

+0

あなたのmobelがZend_Db_Tableを拡張している場合、$ model-> select() - > from->(...) –

+0

のようなものを '$ res = $ doc-> select() - > from($ 'COUNT(*)を行数として'を選択) - > fetchAll() - > toArray(); 'は私のためには機能しません。この場合、fetchAll()は認識されません。 – dforce

関連する問題