我有一個文章表和一個分類表。我想爲每個類別獲取7篇文章。目前我有這一點,但它的大表上可怕的慢,所以它不是一個真正的解決方案:限額標準
SELECT id,
title,
categories_id,
body,
DATE_FORMAT(pubdate, "%d/%m/%y %H:%i") as pubdate
FROM articles AS t
WHERE (
SELECT COUNT(*)
FROM articles
WHERE t.categories_id = categories_id
AND id< t.id AND publish = 1
AND expires > '2008-12-14 18:38:02'
AND pubdate <= '2008-12-14 18:38:02'
) < 7
ORDER BY categories_id DESC
使用說明,它讓我看到它在做一個連接類型的所有& REF。選擇類型是PRIMARY和DEPENDENT SUBQUERY。
有沒有更好的解決方案?
這看起來可以獲得少於7個的類別的所有文章。這似乎與您的目標的英文說明略有不同。例如,如果一個類別包含十篇文章,那麼您的描述聽起來像是希望其中的7個,而不是0. – recursive 2008-12-16 04:40:27