sql >> Databáze >  >> RDS >> Mysql

Získání nejvyšších výsledků v JOIN

K získání maximální nabídky pro každou aukci můžete použít funkci MAX a podvýběr. Pokud tento podvýběr spojíte s ostatními tabulkami a nastavíte klauzuli where následovně, měli byste dostat to, co hledáte.

SELECT a.id, a.title, ab.bid_points, u.display_name 
FROM Auction AS a
INNER JOIN (SELECT auction_id, MAX(bid_points) AS maxAmount FROM auction_bids GROUP BY auction_id) AS maxBids ON maxBids.auction_id = a.id
INNER JOIN auction_bids AS ab ON a.id = ab.auction_id
INNER JOIN users AS u ON u.id = ab.user_id
WHERE ab.auction_id = maxBids.auction_id AND ab.bid_amount = maxBids.maxAmount

Doufám, že to pomůže.



  1. Filtrování dat pomocí sady řádků JDBC

  2. Přinutit uživatele, aby měli nejnovější verzi aplikace pro Android

  3. MySQL Alter Stored Procedure

  4. CodeIgniter Vyberte dotaz