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

Apakah mungkin untuk MEMBATASI hasil dari kueri GABUNG?

Yang ini akan mendapatkan posting Anda dengan tiga komentar terbaru per posting, dengan asumsi tabel Anda terlihat seperti itu:

pos :
id , post_text

komentar :
id , post_id , comment_text

SELECT id, post_text, comment_text
FROM
(
    SELECT p.id, p.post_text, c.comment_text
           CASE
             WHEN @id != p.id THEN @row_num := 1
             ELSE @row_num := @row_num + 1
           END AS rank,
           @id := p.id
    FROM post p
    LEFT JOIN comment c ON ( c.post_id = p.id )
    JOIN ( SELECT @id:=NULL, @row_num:=0 ) x
    ORDER BY p.id,
             c.id DESC -- newest comments first
) y
WHERE rank <= 3;

Sub-kueri digunakan untuk mendapatkan komentar terbaru terlebih dahulu dan menomorinya per pos, sedangkan pilihan luar menghapus komentar lama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DataTable.Load menampilkan lebih sedikit baris daripada DataReader sumber

  2. Bagaimana memastikan database MySQL Anda aman

  3. Timer Pembatalan Pernyataan MySQL gagal Berhenti

  4. Bagaimana cara menjalankan beberapa kueri SQL di MySQL Workbench?

  5. EasyPHP 16.1 autostart http &mysql