即使在 php sql 函数中添加 distinct 和 group by 之后也会出现重复值
duplicate values coming even after adding distinct and group by in php sql function
我在 php codeigniter 中有一个网站,我有一个搜索框,用户可以在其中搜索并从数据库中获取数据,数据在搜索框中使用数据列表显示,我在 codeigniiter 中创建了以下搜索功能:
public function keywordsearch() {
$this->db->select('category.category_name, link.link_name, group_concat(link.keyword) as keyword');
$this->db->distinct('link.keyword');
$this->db->join('category','category.category_name=link.category');
$this->db->group_by('link.keyword');
$query = $this->db->get('link');
return $query->result();
}
我的table如下:
我在此函数中使用的 4 列链接名称、链接网址、类别和关键字。如您所见 table,某些列中有重复值 我尝试使用 group by 和 distinct 隐藏重复值,但我仍然得到如下重复值:
任何人都可以告诉我这里可能出了什么问题,在此先感谢
您不应在聚合结果中按您想要的同一列使用 for group。
尝试使用选定但未聚合的列名称
public function keywordsearch() {
$this->db->select('category.category_name, link.link_name
, group_concat(distinct link.keyword) as keyword');
$this->db->join('category','category.category_name=link.category');
$this->db->group_by('category.category_name, link.link_name');
$query = $this->db->get('link');
return $query->result();
}
我在 php codeigniter 中有一个网站,我有一个搜索框,用户可以在其中搜索并从数据库中获取数据,数据在搜索框中使用数据列表显示,我在 codeigniiter 中创建了以下搜索功能:
public function keywordsearch() {
$this->db->select('category.category_name, link.link_name, group_concat(link.keyword) as keyword');
$this->db->distinct('link.keyword');
$this->db->join('category','category.category_name=link.category');
$this->db->group_by('link.keyword');
$query = $this->db->get('link');
return $query->result();
}
我的table如下:
我在此函数中使用的 4 列链接名称、链接网址、类别和关键字。如您所见 table,某些列中有重复值 我尝试使用 group by 和 distinct 隐藏重复值,但我仍然得到如下重复值:
任何人都可以告诉我这里可能出了什么问题,在此先感谢
您不应在聚合结果中按您想要的同一列使用 for group。 尝试使用选定但未聚合的列名称
public function keywordsearch() {
$this->db->select('category.category_name, link.link_name
, group_concat(distinct link.keyword) as keyword');
$this->db->join('category','category.category_name=link.category');
$this->db->group_by('category.category_name, link.link_name');
$query = $this->db->get('link');
return $query->result();
}