现在我可以通过在 CodeIgniter 中使用这条语句从名为 cars 的表中获取所有值:
$this->db->get('cars')->results();
问题是我想仅根据名为slug 的列中的相同值选择行,这是一个存储的URL,例如“非常好的汽车出售”或“状况良好的黑色野马”。基本上我想找到所有重复项(但我想稍后将其扩展到名称、描述等,但我现在主要关心的是 slug 列)
我的数据库查询在 CodeIgniter 环境中应该如何显示以仅获取重复项,我的意思是表中至少有两次具有相同 slug 的行?
是否可以通过 CI Active Record 而不是通过自定义 SQL 查询?
最佳答案
首先获取重复记录的 ID,然后将此结果用作子查询。
$this->db->select('`id`');
$this->db->from('cars');
$this->db->group_by('slug');
$this->db->having('count(slug) > 1');
$where_clause = $this->db->get_compiled_select();
$this->db->get('cars');
$this->db->where('`id` IN ($where_clause)', NULL, FALSE);
关于php - 从表中获取在 CodeIgniter 的某些列中包含相同值的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20239701/