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

Batas MySQL dengan pernyataan

Anda dapat menggunakan kueri peringkat untuk memberikan peringkat untuk setiap kategori dan memfilternya dengan jumlah catatan per kategori yang Anda inginkan, di bawah ini kueri akan memberi Anda 6 catatan dari setiap kategori

SELECT t.* FROM
(SELECT 
  `user_bookmarks`.`id` AS `user_bookmark_id`,
  `bookmark_id`,
  `user_bookmarks`.`user_id`,
  `bookmark_url`,
  `bookmark_website`,
  `bookmark_title`,
  `bookmark_preview_image`,
  `bookmark_popularity`,
  `category_id`,
  `category_name`,
  `pdf_txt_flag`,
  `youtube_video`,
  `content_preview`,
  `snapshot_preview_image`,
  `mode` ,
   @r:= CASE WHEN category_id = @g THEN @r+1  ELSE @r:=1 END `rank` ,
   @g:=category_id
FROM
  `user_bookmarks` 
  LEFT JOIN `bookmarks` 
    ON `user_bookmarks`.`bookmark_id` = `bookmarks`.`id` 
  LEFT JOIN `categories` 
    ON `user_bookmarks`.`category_id` = `categories`.`id` 
  JOIN (SELECT @r:=0,@g:=0) t1
WHERE `category_id` IN (164, 170, 172) 
ORDER BY category_id
) t
WHERE t.rank <=6


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Pilih WHERE IN pesanan yang diberikan

  2. MySQL Query ORDER BY nilai-nilai tertentu sebelum yang lain

  3. Bagaimana cara menggunakan hashing kata sandi dengan PDO untuk membuat kode saya lebih aman?

  4. Grup MySQL oleh SUM

  5. Bagaimana cara menyimpan lebih dari 255 char di database MySQL?