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

Получаване на най-високи резултати в JOIN

Можете да използвате функцията MAX и под-селекция, за да получите максималната оферта за всеки търг. Ако се присъедините към тази подселекция с другите си таблици и зададете клаузата where, както следва, трябва да получите това, което търсите.

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

Надявам се това да помогне.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python SQLAlchemy - MySQL сървърът е изчезнал

  2. MySQL 'secure-file-priv' не позволява зареждане на файл с данни, дори от разпределената безопасна папка

  3. Как мога да върна последната си команда за изтриване в MySQL?

  4. Списъчни полета на CodeIgniter

  5. MySQL IFNULL N/A добив елемент не може да бъде намерен в колекцията Грешка