0

我有餐桌订单

Orders{
  id
  user_id
  status
  date
}

我需要返回结果,就好像同一用户的订单超过 5 次一样,如果有这样的订单

ID User_ID Status Date
1  1       Pending xxxxx
2  1       Pending xxxxx
3  1       Pending xxxxx
4  1       Pending xxxxx
5  1       Pending xxxxx
6  2       Pending xxxxx
7  3       Pending xxxxx
8  2       Pending xxxxx
9  1       Pending xxxxx

结果将是来自用户 id = 1 的所有订单,因为他下的订单超过 5 个。我如何使用活动记录来做到这一点?

4

3 回答 3

1

Select * from Table where [User_ID] in (Select [User_ID] from Table group by [User_ID] with count(*) > 5)

于 2013-03-19T16:02:28.100 回答
0
Select * from orders 
where user_id in (Select user_id from orders group by user_id having count(1)>=5)
于 2013-03-19T15:42:39.267 回答
0

在您的模型中,您可以传递用户 ID 并获取特定用户的结果

模型

function get_orders($userid)
     {
         $this->db->where('user_id',$userid);
         $query =$this->db->get('orders');
         return $query->result();  
     }

控制器

function orders($userid){

$result=$this->model->get_orders($userid);
if($result){

foreach ($result as $row){
echo $row->id."<br/>";
echo $row->user_id."<br/>";
....
..
}

}

}
于 2013-03-19T16:19:52.573 回答