sql >> Databáze >  >> RDS >> Mysql

Načtěte 2 poslední příspěvky pro každou kategorii

Podívejte se na tento Článek MySQL o tom, jak pracovat s top N věcmi v libovolně složitých seskupení; je to dobrá věc. Můžete zkusit toto:

SET @counter = 0;
SET @category = '';

SELECT
  *
FROM
(
  SELECT
    @counter := IF(posts.category = @category, @counter + 1, 0) AS counter,
    @category := posts.category,
    posts.*
    FROM
      (
      SELECT
        *
        FROM test
        ORDER BY category, date DESC
      ) posts
) posts
HAVING counter < 2


  1. SQL UNION doložka pro začátečníky

  2. MySQL:Jak hledat ve více tabulkách řetězec existující v libovolném sloupci

  3. Rozdělte struny správným způsobem – nebo dalším nejlepším způsobem

  4. Usnadnění správy produkční databáze PostgreSQL