sql >> データベース >  >> RDS >> Mysql

カテゴリごとに最後の2つの投稿を取得する

    これをチェックしてくださいMySQLの記事 任意に複雑なグループで上位N個を処理する方法について。それは良いことです。これを試すことができます:

    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. MySQL-数字または特殊文字で始まる場合

    2. SQLiteException:テーブルはすでに存在します

    3. SQLServerでテーブルを作成する方法

    4. CentOS 8 /RHEL8にMySQL8.0をインストールする方法