私はこのSQLクエリを使用していますが、重複があります。 inst_idごとに1つの投稿のみが取得されるようにするにはどうすればよいですか?私はそれが起こる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