Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Instrukcja MySQL, aby wybrać najnowszy wpis z określonej kolumny

  • W tabeli pochodnej uzyskaj maksymalną wartość wersji dla każdego type_id
  • Połącz się z powrotem do głównej tabeli, aby uzyskać odpowiedni wiersz.

Spróbuj wykonać następujące czynności:

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

Wynik

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

Wyświetl na DB Fiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy są jakieś walidatory SQL, które mogą sprawdzać składnię na wielu serwerach baz danych?

  2. Czy złożone unikalne klucze są indeksowane w MySQL? - DBMS

  3. Dołącz do dwóch tabel MySQL za pomocą PHP

  4. Jak wyeksportować miliony wierszy z MySQL do CSV za pomocą PHP bez wyczerpywania pamięci?

  5. Znaczenie WHERE 1 w zapytaniach MySQL