我有以下的mysql查詢,它按分類生成條目列表。但是,生成的一些條目是重複的(重複的entry_id - 因爲它們出現在多個類別中)。如何確保沒有重複?我試圖使用GROUP BY
和DISTINCT
的其他變體,但沒有成功。謝謝。Mysql獲得兩個左連接的唯一條目
SELECT ct.entry_id, ct.title, c.cat_name
FROM exp2_categories c
LEFT JOIN exp2_category_posts cp ON (cp.cat_id = c.cat_id)
LEFT JOIN exp2_channel_titles ct ON (ct.entry_id = cp.entry_id)
WHERE c.group_id = '4'
GROUP BY c.cat_id
ORDER BY ct.entry_date DESC
編輯:
第一個答案是偉大的,但它產生的每個類別的多個條目。我需要每個類別一個獨特的條目。對不起,我應該在我原來的問題中更具體。
例如,它所產生 - 條目是獨一無二的,但也有太多的條目:
entry_id_1 Title 1 Category_1, Category_2
entry_id_3 Title 3 Category_2
entry_id_345 Title 345 Category_3
entry_id_123 Title 123 Category_4, Category_3, Category_1
entry_id_678 Title 678 Category_4
期望的結果 - 條目是獨一無二的,每類只有一個條目:
entry_id_1 Title 1 Category_1
entry_id_3 Title 3 Category_2
entry_id_345 Title 345 Category_3
entry_id_123 Title 123 Category_4
請郵寄表格的一個例子,從這個查詢中得到的結果示例 –
當您使用group by ct.entry_id時會發生什麼... –
當我使用group by ct.entry_id時,我會得到唯一的條目但重複的類別。 –