sql >> Databasteknik >  >> RDS >> Mysql

MySQL-sats för att välja den senaste posten i en specifik kolumn

  • I en härledd tabell får du det maximala versionsvärdet för varje type_id
  • Gå tillbaka till huvudtabellen för att få motsvarande rad.

Prova följande:

SELECT e.* 
FROM 
example1 AS e 
JOIN 
(
  SELECT type_id, 
         MAX(version) AS maximum_version
  FROM example1 
  WHERE class_id = 10
  GROUP BY type_id 
) AS dt ON dt.type_id = e.type_id AND 
           dt.maximum_version = e.version 
WHERE e.class_id = 10

Resultat

| id  | version | text  | class_id | type_id |
| --- | ------- | ----- | -------- | ------- |
| 1   | 1       | text1 | 10       | 1       |
| 2   | 1       | text2 | 10       | 2       |
| 4   | 1       | test4 | 10       | 4       |
| 9   | 3       | last  | 10       | 3       |
| 11  | 3       | rrrr  | 10       | 5       |

Visa på DB Fiddle




  1. Hur kan du namnge datauppsättningens tabeller som du returnerar i en lagrad proc?

  2. Olaglig blandning av sammanställningar (utf8_general_ci,IMPLICIT) och (utf8_unicode_ci,IMPLICIT) för operation '=' i MySQL Stored Procedure

  3. Hur ställer jag in Collation i MySQL-databasen med Django 2.* mysqlclient?

  4. Hitta saknade sekvensluckor mysql