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

MAX функция, използвана с клауза GROUP BY

Първо трябва да получите максималната заплата за всеки отдел:

SELECT department, max(salary) as max_salary
FROM test
GROUP BY department

след това можете да се присъедините обратно към тази подзаявка към тестовата таблица:

SELECT t.*
FROM
  test t INNER JOIN (
    SELECT department, max(salary) as max_salary
    FROM test
    GROUP BY department
  ) d ON t.department=d.department AND t.salary=d.max_salary


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Опитайте отново при блокиране за MySQL / SQLAlchemy

  2. Групиране на стойност, разделена със запетая, върху общи данни

  3. Изравняване на дъщерни/родителски данни с неизвестен брой колони

  4. извличане на идентификаторите, присвоени на списък с потребителски идентификатори

  5. Вложен избор с помощта на Zend Db