我在我的项目中使用codeigniter 2,我有一个问题,我希望你能帮助我解决它。如何从一个表使用连接获取唯一行?
我有两个MySQL表,“作者‘和’文章”,其中关系为‘一个作家的许多文章’。我需要从'作者''得到作者“,这些作者已经在”“文章中有活跃的文章。
note在文章列表中,我有名为“status_id”的列,如果文章处于活动状态,则设置为1;如果暂停,则设置为0。并且我在“作者”表中记录了一个名为“authors_categories_id”的记录。
我试着用这个代码做
$this->db->select('authors.name,authors.about,authors.author_thumbnail,authors.authors_categories_id,authors.user_id,authors.status_id,authors.id AS auth_id')
->from('authors')
->join('articles', 'authors.id = articles.author_id')
->where('authors.authors_categories_id',$AuthCategory)
->where('articles.status_id', 1)
->order_by("auth_id", "desc")
->limit($limit, $start);
$Res = $this->db->get();
$data['Authors'] = array();
foreach($Res->result() as $R)
{
$data['Authors'][] = $R;
}
print_r($data['Authors']);
我的问题是,代码导致我重复的作者。 例如,如果作者在'文章'表中有5篇文章,结果将是同一作者的5条记录,而我只需要查看每位作者不多于。
我需要代码根据作者而非文章的数量生成记录。
谢谢。
DISTINCT方式不起作用。但第二种方式是有帮助 – user504363 2012-02-01 17:40:56