我在爲我的WordPress博客建立一個「作者」頁面,列出所有當前網站貢獻者以及各種其他信息,例如發佈的帖子數量,最後發表的日期等尋找作者的最新職位
谷歌和Wordpress Codex指出我在MySQL中使用子查詢來在一個查詢中提取我需要的所有數據,並且它對於獲取每個作者發佈的帖子數量非常有用。
我無法工作的是找到每個作者的最新帖子的帖子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
我試圖得到最新帖子ID爲每個作者( 'latest_post_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子查詢的地方。
您缺少的鏈接正在綁定您最初選擇的用戶標識和子查詢。 – 2009-09-01 05:52:37