sql >> Database teknologi >  >> RDS >> Mysql

mysql:Hvordan man INNER JOIN et bord, men begrænser deltagelse til 1 resultat med den højeste stemme eller antal?

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.:hvis du har for et punkt 2 svar med samme total_yes =max, vil du have 2 rækker for det punkt.



  1. AJAX live kontrol af tilgængelighed med indsend-knap

  2. hvordan man indsætter tekstboksværdierne i databasen mysql ved hjælp af php oops-konceptet, når der klikkes på knappen Send

  3. Skjuler ægte databaseobjekt-id i url'er

  4. MySQLi udarbejdede erklæringer og UDSKIFT I