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

SQL Вземете други редове от агрегатната функция

Ще искате да използвате подзаявка, която ще получи max(b) от всеки A и след това присъединете тази стойност обратно към вашата таблица, за да върнете останалите колони, които съответстват на стойностите на подзаявката:

select *
from mytable t1
inner join
(
  select A, max(b) B
  from mytable
  where b >50
  group by a
) t2
  on t1.a = t2.a
  and t1.b = t2.b
where t1.b >50

Вижте SQL Fiddle с демонстрация



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да извлечете списъка с таблици в базата данни в Laravel 5.1

  2. Как да получите вмъкната стойност за тригера

  3. Как да изчислим медиана в MySQL

  4. Не можете да посочите целева таблица за актуализиране в клаузата FROM

  5. Можете ли да разделите/раздуете поле в MySQL заявка?