我在我的網站中有兩張桌子,一張桌子是存放作者信息(ID,名稱,圖片,類型)另一張是存儲文章(ID,author_id,標題,內容,日期)。作者我有不止一篇文章。我想在我的sql生成鏈接與最新的文章排序的作者表的文章列表,但對於每個作者,我只想顯示一個文章,這是最新的。任何一個可以對此請幫助的想法...如何在mysql中使用order by和group by?
回答
嘗試
select
a.*
from
article as a
WHERE
a.id IN (SELECT MAX(id) FROM article GROUP BY author_id);
如果你想筆者細節也嘗試
select
a.*,au.name,au.image
from
article as a,
autor as au
WHERE
a.id IN (SELECT MAX(id) FROM article GROUP BY author_id)
AND
a.author_id = au.id;
正確查詢因爲這是以下內容。
select * from article a
where a.date >= all (select b.date from article b where a.author_id = b.author_id)
如果太慢,那麼你可以通過(author_id, date)
在article
表嘗試的索引。請注意,索引中列的順序很重要。 author_id
必須是第一個。
非常感謝,但作者信息我想加入此查詢與作者信息呢?我怎樣才能做到這一點 ?通過索引IDS你是什麼意思,我該怎麼做? – user3077029
您可以在'from'子句中加入作者,就像您對任何其他查詢一樣。 –
SELECT * FROM
(SELECT * FROM author, article WHERE author.id=article.author_id order by date DESC)
tab group by id
這是由筆者得到最新文章正確的查詢。
感謝您的答覆,但它不工作可以喲請仔細檢查SQL? – user3077029
- 1. Mysql COUNT,GROUP BY和ORDER BY
- 2. mysql - 使用group by和order by
- 3. MySQL的使用GROUP BY和ORDER BY的
- 4. GROUP BY和ORDER BY
- 5. Mysql的GROUP BY在LEFT JOIN和ORDER BY
- 6. MySQL ORDER BY,GROUP BY內JOIN
- 7. MYSQL GROUP BY/ORDER BY confusion
- 8. MySQL ORDER BY或GROUP BY
- 9. mysql order by tag occurrence group by
- 10. MYSQL GROUP BY + ORDER BY FIELD()
- 11. order by by group by
- 12. ORDER BY GROUP BY
- 13. MySQL GROUP BY order when no ORDER BY
- 14. MySQL GROUP By和ORDER BY衝突
- 15. MYSQL - GROUP BY和ORDER BY問題
- 16. MySQL查詢GROUP BY和ORDER BY
- 17. Mysql的GROUP BY和ORDER BY DESC
- 18. MySQL的GROUP BY和ORDER BY爲了
- 19. MYSQL GROUP BY和ORDER BY與ABS
- 20. MySQL - 如何使用GROUP BY/ORDER BY和「嵌套」數據集?
- 21. 在查詢中使用ORDER BY GROUP BY
- 22. MySQL Group by and Order
- 23. ORDER BY和GROUP MySQL查詢
- 24. GROUP BY和ORDER BY問題
- 25. ORDER BY和LIMIT GROUP BY
- 26. 查詢GROUP BY和ORDER BY
- 27. SQL與GROUP BY和ORDER BY
- 28. SQL ORDER BY和GROUP BY
- 29. Group BY和ORDER BY優化
- 30. 如何組合GROUP BY,ORDER BY和HAVING
非常感謝大家的幫助,我寫了sql但很好,但是很慢,您怎麼看? – user3077029
你有索引在你的領域,請嘗試索引文章表中的id,author_id字段和作者表的ID –
這個答案假定文章的id值與日期值的順序相同。情況並非一定如此。要正確回答問題,您確實需要爲每位作者查找最新的文章日期,而不是最高的文章ID。 –