sql >> Databasteknik >  >> RDS >> Mysql

Hämta 2 sista inlägg för varje kategori

Kolla in denna MySQL-artikel om hur man arbetar med de N översta sakerna i godtyckligt komplexa grupperingar; det är bra grejer. Du kan prova detta:

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. Sammanfoga tabeller i MySql med ett gemensamt fält men olika värden för det gemensamma fältet

  2. Oracle datum till sträng konvertering

  3. Gruppera DateTime i 5,15,30 och 60 minuters intervall

  4. Fel vid kartläggning av postgres-matriser i Spring JPA