sql >> Databasteknik >  >> RDS >> Mysql

Returnerar den "sista" raden i varje "grupp efter" i MySQL

Prova den här frågan -

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;

Använd sedan EXPLAIN för att analysera frågor.

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. Det går inte att logga in på SQL Server + SQL Server Authentication + Fel:18456

  2. Rekursiv CTE sammanfogar fält med föräldrar från godtycklig punkt

  3. Genom att använda Hibernate-fråga:kolon behandlas som parameter / escapende kolon

  4. Fixar för SQL Server 2012 &2014 Online Index Rebuild Issue