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

MySQL избира максимален запис в група по

Много информация на http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/

Това винаги е бил досаден проблем в MySQL. Имаше начини за заобикаляне на това, като например свързване на няколко полета заедно (започвайки с external_id) и след това избиране на MAX() от това и след това повторното му разделяне.

Предлагам ви да използвате получена таблица. Първата таблица (t1) се извлича от проста заявка, в която идентифицирате MAX(external_id) , след което се присъединявате от него, за да получите останалите данни.

ТОВА Е САМО АКО external_id УНИКАЛНО Е

SELECT 
   t1.group_id, some_table.id, some_table.mypath
FROM 
   (
      SELECT group_id, MAX(external_id) AS external_id
      FROM some_table
      GROUP BY group_id
   ) as t1
INNER JOIN 
   sometable ON t1.external_id = sometable.external_id
WHERE ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създаване на защитен скрипт за влизане в PHP и MySQL без HTTPS

  2. MySQL програма mysql_tzinfo_to_sql

  3. Вмъкването на стойност NOW() в тип данни за дата и час връща 0000-00-00 00:00:00

  4. MySQL:SQL грешка:1140, SQLState:42000

  5. Как мога да манипулирам уместността на MySQL пълнотекстово търсене, за да направя едно поле по-ценно от друго?