我正在使用這個SQL查詢,但我得到重複。我如何確保每個inst_id只有一個帖子被提取?我想這是我通過main_posts.c_p_id創建的組,但如果我沒有它,我會得到一個錯誤,因爲我按它排序。基本上我試圖排序並把首先在main_posts.c_p_id中匹配的帖子。從SQL查詢獲取重複項?
SELECT main_posts.c_p_id, insts.inst_id, insts.inst_title
FROM insts
LEFT JOIN inst_posts
ON inst_posts.instp_inst_id = insts.inst_id
LEFT JOIN main_posts
ON main_posts.c_id = insts.instp_c_id
GROUP BY insts.inst_id, main_posts.c_p_id
ORDER BY main_posts.c_p_id DESC, insts.inst_title ASC
**警告**:這有一些嚴重的[SQL注入漏洞](http://bobby-tables.com/),因爲用戶數據在查詢中使用。儘可能使用**準備好的陳述**。這些在['mysqli'](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和[PDO](http://php.net/manual/)中很簡單en/pdo.prepared-statements.php)其中任何用戶提供的數據都是用'?'或':name'指示符指定的,後者使用'bind_param'或'execute'填充,具體取決於您使用的是哪一個。 **絕不**將'$ _POST','$ _GET'或任何用戶數據直接放入您的查詢中。 – tadman
我明白了,但是,誰說了關於POST或GET的任何內容? – SeaBass
任何形式的用戶數據都是危險的。 '$ p_id'從哪裏來? '$ tagged'是什麼?如果它不是很明顯,那麼我們唯一可以假設的就是它沒有逃脫。佔位符值使得顯而易見,一切都正確完成,錯誤無法隱藏。 – tadman