sql >> Database >  >> RDS >> Mysql

Een enkele rij selecteren op basis van de maximale waarde in meerdere rijen

U kunt een not exists . gebruiken subquery om oudere records uit te filteren:

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
                )
        )

die ook in MySQL kan worden geschreven als:

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. Hoe worden datums opgeslagen in Oracle?

  2. Hoe fout op te lossen:MySQL wordt onverwacht afgesloten op Xampp vanwege plug-in 'Aria'

  3. Hoe UNPIVOT in Access te simuleren?

  4. trek 1 af van het getal in een rij SQL Query