0

MySQL データベースに上記のモデルがあります。

Blogs (id: integer, name: varchar)
Posts (id: integer, name: varchar, blog_id: integer, created_at: date)

すべてのブログのリストを、最新の投稿がある順に並べ替えて取得したいと考えています。

次のクエリでそれに到達しました。

SELECT b.*, (SELECT p.created_at FROM posts p WHERE p.blog_id = b.id ORDER BY p.created_at DESC LIMIT 1) AS last_post_created_at FROM blogs b ORDER BY last_post_created_at DESC;

しかし、このクエリは遅すぎて、自分のアプリケーションでは使用できません。

あなたはそれに対する良い解決策を持っていますか?

ありがとうございました。

4

2 に答える 2

0

ビューを使用します。知って活用するのは素晴らしいことです!

于 2012-08-07T23:12:43.563 に答える