2016-08-24 4 views
1

私が持っているサンプルテーブルからデータを取得するには、new_idフィールドを基準にして最大のデータを取得します。は、フィールドに基づいて最も大きなデータを得ました

date | name | new_id | 
----------- | ------- | ----------- | 
2013-01-10 | jimmy |  1  | 
2014-01-10 | jimmy |  2  | 
2015-01-10 | jimmy |  3  | 
2016-01-10 | jimmy |  4  | 
2015-01-10 | smith |  1  | 
2016-01-10 | smith |  2  | 
2016-01-10 | johny |  1  | 
2015-01-10 | johny |  2  | 
2016-01-10 | johny |  3  | 

期待される結果

date | name | new_id | 
----------- | ------- | ----------- | 
2013-01-10 | jimmy |  4  | 
2014-01-10 | smith |  2  | 
2015-01-10 | johny |  3  | 

私が試した「VEのが、それは私が期待通りではなかった

この私のコントローラ

$data=array('getaDta' => $this->m_model->mData(), 
       'content'  =>'home/dashboard');   
$this->load->view('layout/wrapper', $data); 

マイm_model

function mData() { 
    $this->db->select('*'); 
    $this->db->from('myTable'); 
    $this->db->select_max('new_id'); 
    $this->db->where('new_id',);   
    $query = $this->db->get(); 
    return $query->result();          
} 

MySQLのクエリ内のビュー

<table> 
    <thead> 
     <th>Date</th> 
     <th>Name</th> 
     <th>New ID</th> 
    </thead> 
    <tbody> 
     <?php 
      foreach ($getaDta as $row) { ?> 
      <tr> 
       <td><?php echo $row->date; ?></td> 
       <td><?php echo $row->name; ?></td> 
       <td><?php echo $row->new_id; ?></td> 
      </tr>  
     <?php }?>   
    </tbody> 
</table> 
+0

なぜあなたは '2016-01-10 |スミス| 「2015-01-10 |ジョーニー| 2 'も' id = 2'で? –

+0

@NanaPartykar、最高のnew_idを持つ名前を取得したい –

+1

しかし、Johnyもnew_idとして2を持っています。それではなぜスミスデータだけを表示するのですか?それは私の質問です。 –

答えて

0

これを試してください。その名前の名前と最大のnew_idを指定します。

SELECT name, MAX(new_id) FROM mytable GROUP BY name 
0

使用GROUP BY。たとえば:

SELECT * FROM mytable GROUP BY name; 
関連する問題