sql >> Databasteknik >  >> RDS >> Mysql

mysql:Hur man INNER JOIN ett bord men begränsar gå med till 1 resultat med den högsta rösten eller antalet?

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

OBS:om du har för ett objekt 2 svar med samma total_yes =max, kommer du att ha 2 rader för det objektet.



  1. PL/pgSQL kontrollerar om en rad finns

  2. PHP-varning:PHP-start:Det går inte att ladda det dynamiska biblioteket '/usr/lib/php/20151012/msqli.so'

  3. Hur man importerar Room Persistence Library till ett Android-projekt

  4. Är det dåligt för prestandan att välja alla kolumner?