sql >> Databáze >  >> RDS >> Mysql

Vrácení „posledního“ řádku každého „seskupit podle“ v MySQL

Zkuste tento dotaz -

SELECT t1.* FROM foo t1
  JOIN (SELECT uid, MAX(id) id FROM foo GROUP BY uid) t2
    ON t1.id = t2.id AND t1.uid = t2.uid;

Poté použijte EXPLAIN analyzovat dotazy.

SELECT t1.* FROM foo t1
  LEFT JOIN foo t2
    ON t1.id < t2.id AND t1.uid = t2.uid
WHERE t2.id is NULL;


  1. Jak filtrovat výsledky SQL ve vztahu has-many-through

  2. Jak funguje funkce REGEX_REPLACE() v MySQL

  3. Základní správa MaxScale pomocí MaxCtrl pro MariaDB Cluster – část druhá

  4. Postgres FOR LOOP