我在我的項目中使用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