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

Как да изберете един ред въз основа на максималната стойност в няколко реда

Можете да използвате not exists подзаявка за филтриране на по-стари записи:

select  *
from    YourTable yt
where   not exists
        (
        select  *
        from    YourTable older
        where   yt.name = older.name and 
                (
                    yt.major < older.major or
                    yt.major = older.major and yt.minor < older.minor or
                    yt.major = older.major and yt.minor = older.minor and
                        yt.revision < older.revision
                )
        )

който също може да бъде написан в MySQL като:

select  *
from    YourTable yt
where   not exists
        (
        select  *
        from    YourTable older
        where   yt.name = older.name and 
                  (yt.major,    yt.minor,    yt.revision) 
                < (older.major, older.major, older.revision)
        )


  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 - Изберете последния вмъкнат ред по най-лесния начин

  2. Как да получа полета по име в заявка Python?

  3. Как да вмъкна BLOB и CLOB файлове в MySQL?

  4. LEFT JOIN ред и лимит

  5. Грешка в синтаксиса на MySQL на DELIMITER преди CREATE TRIGGER