2

这就是我想要做的。我正在尝试从论坛视图表中选择所有user_id有 5 条或更多记录的 s。这相当容易(这是 Zend):

$objCountSelect = $db->select()
    ->from(array('v' =>'tbl_forum_views'), 'COUNT(*) AS count')
    ->where('u.id = v.user_id')
    ->having('COUNT(user_id) >= ?', 5)
;

但我需要以某种方式将它连接到我的用户表。如果计数大于 5,我不想返回结果。我试过这个:

$objSelect = $db->select()
     ->from(array('u' => 'tbl_users'), array(
          'id as u_id',
          'count' => new Zend_Db_Expr('(' . $objCountSelect . ')'),
       ))
;

但这会为每个用户返回一条记录,如果计数小于或等于 5,则将其留空。如何排除计数小于或等于 5 的行?

4

1 回答 1

0

我想通了,但想发布答案以防其他人遇到同样的问题。我补充说:

->having('count > 0')

到第二个选择,现在它可以工作了。

于 2013-09-17T19:09:57.027 回答