2016-08-24 43 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  | 

我已經試過,但它不是如我所料

這我控制器

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

意見

<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 |史密斯| 2'當有'2015-01-10 | johny | 2'也是'id = 2'? –

+0

@NanaPartykar,我想得到一個最高的名字new_id –

+1

但是,Johny也有2個爲new_id。那麼爲什麼只顯示史密斯數據。這是我的問題。 –

回答

0

試試這個。它會給這個名稱和最大的new_id這個名字

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

使用GROUP BY在你的MySQL查詢。例如:

SELECT * FROM mytable GROUP BY name;