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 (count(*) > 5 の [User_ID] で Table グループから [User_ID] を選択)

于 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 に答える