簡體   English   中英

從codeigniter中的列中僅選擇唯一值

[英]Select only unique values from a column in codeigniter

我有一張這樣的桌子

name|subjects|location
......................     
BUET|CSE|Dhaka
BUET|EEE|Dhaka
RUET|CE |Rajshahi
RU  |CE |Rajshahi

這里所有的行都是不同的。如果我使用的話

 $this->db->select('*') and $this->db->distinct() 

它會選擇BUET的所有行,但我只想這樣

name|subjects|location
......................     
BUET|CSE|Dhaka
RUET|CE |Rajshahi
RU  |CE |Rajshahi

這意味着只有第一列必須是不同的並且像往常一樣選擇所有列。如果我使用$ this-> db-> select('name')和$this->db->distinct() ,它將起作用。 那么其他列會是什么?

由於我的原始表有很多列,所以我想使用$this->db->select('*') 我認為$this->db->distinct()不會將任何列作為參數。 它根據選擇來區分結果。 我怎樣才能做到這一點?

試試這樣吧

$this->db->select('DISTINCT `name`'); //You may use $this->db->distinct('name');  
$this->db->select('*');

按名稱選擇不同的值 。並且您的SELECT拼寫錯誤,可能是打字錯誤。您也可以使用GROUP BY

$this->db->select('*');
$this->db->group_by('name');

您應該使用group_by代替distinct。

因為distinct將返回唯一的行。 但要逐行排列,你應該分組。

希望這可以幫助。

$this->db->select('column names');
$this->db->distinct();
$query = $this->db->get('table name');
$query->result();
$this->db->select('*');
        $this->db->group_by('column_name');
        $this->db->from('tbl_name');
        $query = $this->db->get();
        return $query->result();

嘗試這個

   $this->db->select('job,id');
   $this->db->group_by('job');
   $query= $this->db->get('technicals')->result_array();
   if(!empty($query)){
       return $query;
   }else{
       return false;
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM