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

Mendapatkan grup MySQL dengan kueri untuk menampilkan baris dalam grup itu dengan nilai tertinggi

Gunakan:

  SELECT x.book_title,
         x.user_name
    FROM (SELECT b.book_title,
                 u.user_name,
                 br.review_date,
                 CASE
                   WHEN @book = b.book_title THEN @rownum := @rownum + 1
                   ELSE @rownum := 1
                 END AS rank,
                 @book := b.book_title
            FROM BOOKS b
            JOIN BOOK_REVIEWS br ON br.book_id = b.book_id
            JOIN USERS u ON u.user_id = br.user_id
            JOIN (SELECT @rownum := 0, @book := '') r
        ORDER BY b.book_title, br.review_date DESC) x
   WHERE x.rank = 1
ORDER BY x.review_date DESC
   LIMIT 30

MySQL tidak memiliki fungsi analitis/peringkat/windowing, tetapi ini memberi peringkat ulasan di mana yang terbaru ditandai sebagai 1. Ini berdasarkan per buku...

Saya memaparkan tanggal ulasan untuk memesan dengan yang terbaru dari yang terbaru per buku...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nonaktifkan akses untuk database

  2. php bagaimana cara menyimpan dan membaca data json melalui mysql?

  3. Menggunakan Python dan MySQL dalam Proses ETL:Menggunakan Python dan SQLAlchemy

  4. Ubah BufferedInputStream menjadi gambar

  5. Filter DataGrid untuk nama dengan TextBox secara dinamis