Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql:Как да INNER JOIN таблица, но ограничаване на присъединяването до 1 резултат с най-висок глас или брой?

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.:ако имате за даден елемент 2 отговора с едно и също total_yes =max, ще имате 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. Сравнение на координати в базата данни

  2. mysql изберете вътрешно ограничение

  3. Как да доведа резултат от повече от един ред (mysql) в една и съща променлива, когато изпълнявате json_encode?

  4. страница за търсене, която позволява на потребителя да избира между три типа с помощта на php mysql

  5. Къде е MySQL 5.7 my.cnf файл?