sql >> Database teknologi >  >> RDS >> Mysql

Hent 2 sidste indlæg for hver kategori

Tjek denne MySQL artikel om, hvordan man arbejder med de øverste N ting i vilkårligt komplekse grupperinger; det er gode ting. Du kan prøve dette:

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. Udfyldning af nuller til venstre i postgreSQL

  2. Opret en visning i SQL Server 2017

  3. Spring Boot Query-annotering med nativeQuery virker ikke i Postgresql

  4. Sådan finder du minimumsværdier i kolonner