私は、現在のサイト貢献者と、投稿された投稿数、最終投稿日などの他の情報とともに、Wordpressブログの「著者」ページを作成しています投稿者による最新投稿の検索
GoogleとWordpress Codexは、MySQLでサブクエリを使用して1つのクエリで必要なすべてのデータを取得するように指示しました。著者ごとに公開された投稿の数を取得するのはすばらしいです。
私が働くことができないのは、著者ごとに最新の投稿の投稿IDを見つけることです。
最新の投稿せずに、作品現在のクエリ:
SELECT users.ID, (SELECT count(*) FROM posts, users WHERE users.ID = posts.post_author AND posts.post_type = 'post' AND posts.post_status = 'publish') AS post_count FROM users ORDER BY post_count DESC
各著者( 'latest_post_ID')の最新のポストIDを取得するために私の試み:
SELECT users.ID, (SELECT count(*) FROM posts, users WHERE users.ID = posts.post_author AND posts.post_type = 'post' AND posts.post_status = 'publish') AS post_count, (SELECT posts.ID FROM posts, users WHERE users.ID = posts.post_author AND posts.post_type = 'post' AND posts.post_status = 'publish' ORDER BY posts.post_date DESC LIMIT 1) AS latest_post_ID FROM users ORDER BY post_count DESC
問題が追加されていますサブクエリ - クエリは、私が意図しているものではなく、任意の著者に一致する公開された投稿を検索します( 'users.ID = posts.post_author')。
SQL-fuを使っている人が、私がMySQLサブクエリを悪用したり濫用している場所を指摘してくれたら、大変感謝しています。
あなたの欠けているリンクは、もともとサブクエリで選択したユーザーIDを結び付けています。 –