sql >> Database teknologi >  >> RDS >> Mysql

MySQL - Gruppér efter med Bestil efter DESC

da tabellen kun har disse 3 felter, og du filtrerer efter uid, kan du bare bruge MAX uden JOIN:

SELECT version, MAX(datetime) Maxdatetime
FROM table
WHERE uuid='bla'
GROUP BY version

Men hvis tabellen havde flere felter, eller du ikke filtrerer efter uid - du skal først hente MAX dato og klokkeslæt for hver version og derefter vælge rækken:

SELECT t.uuid, t.version, t.datetime 
FROM table t JOIN (
    SELECT version, MAX(datetime) Maxdatetime
    FROM table
    WHERE uuid='bla'
    GROUP BY version
) r ON t.version = r.version AND t.datetime = r.Maxdatetime
WHERE t.uuid='bla'
ORDER BY t.datetime desc


  1. Oracle ODP.NET version agnostisk alternativ

  2. Fatal fejl:[] operator understøttes ikke for strenge

  3. Android:Hvordan beder man en markør om at opdatere ListView efter sletning af databaserækken?

  4. Hvis der findes en tabel, skal du oprette den, hvis den ikke findes, skal du bare oprette den