Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Ambil 2 posting terakhir untuk setiap kategori

Lihat ini Artikel MySQL tentang cara bekerja dengan N hal teratas dalam pengelompokan kompleks yang sewenang-wenang; itu barang bagus. Anda dapat mencoba ini:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ulangi String Beberapa Kali di MySQL – REPEAT()

  2. Pencadangan otomatis atau reguler dari data mysql

  3. Konfigurasi Replikasi Database Master-Master MySQL

  4. Cara menampilkan rentang jam

  5. Mengapa koneksi MySQL diblokir dari banyak kesalahan koneksi?