从codeigniter中的列中仅选择唯一值

sha*_*008 5 php mysql codeigniter

我有一张这样的桌子

name|subjects|location
......................     
BUET|CSE|Dhaka
BUET|EEE|Dhaka
RUET|CE |Rajshahi
RU  |CE |Rajshahi
Run Code Online (Sandbox Code Playgroud)

这里所有的行都是不同的.如果我使用的话

 $this->db->select('*') and $this->db->distinct() 
Run Code Online (Sandbox Code Playgroud)

它会选择BUET的所有行,但我只想这样

name|subjects|location
......................     
BUET|CSE|Dhaka
RUET|CE |Rajshahi
RU  |CE |Rajshahi
Run Code Online (Sandbox Code Playgroud)

这意味着只有第一列必须是不同的并且像往常一样选择所有列.如果我使用$ this-> db-> select('name')和,它将起作用$this->db->distinct().那么其他列会是什么?

因为我的原始表有很多列,所以我想使用$this->db->select('*').我认为 $this->db->distinct()不会将任何列作为参数.它根据选择来区分结果.我怎样才能做到这一点?

Gau*_*164 9

试试这样吧

$this->db->select('DISTINCT `name`'); //You may use $this->db->distinct('name');  
$this->db->select('*');
Run Code Online (Sandbox Code Playgroud)

按名称选择不同的值.并且您的SELECT拼写错误,可能是打字错误.您也可以使用GROUP BY

$this->db->select('*');
$this->db->group_by('name');
Run Code Online (Sandbox Code Playgroud)