Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

mysql:Làm thế nào để INNER THAM GIA một bảng nhưng giới hạn tham gia ở 1 kết quả có phiếu bầu hoặc số lượng cao nhất?

SELECT a.*, b.*
  FROM Items a
       LEFT JOIN Votes b on a.item_id = b.item_id
                         and b.total_yes = (select max(total_yes) 
                                              from Votes v 
                         where v.item_id = a.item_id)
ORDER BY a.post_date DESC, b.total_yes DESC

N.B .:nếu bạn có 2 câu trả lời cho một mục có cùng total_yes =max, bạn sẽ có 2 hàng cho mục đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hiển thị dữ liệu Unicode với PHP

  2. SQL Chèn vào cột trống đầu tiên trong một hàng lỗi MySQL

  3. chèn một tập dữ liệu nhiều lần mysql

  4. Chuyển đổi các ký tự latin1 trên bảng UTF8 thành UTF8

  5. Cách tìm tổng ba cột trên cùng bằng SQL