sql >> Databasteknik >  >> RDS >> Mysql

Sortera data (ordning efter) före grupp efter i mysql

Det du försöker åstadkomma är känt som en gruppvis maximalt , vilket inte kan uppnås med ORDER BY . Istället måste man hitta MAX() och sätt sedan resultatet tillbaka till tabellen:

SELECT prd_data.* FROM prd_data NATURAL JOIN (
  SELECT   sub_prd_id, MAX(created_at) created_at
  FROM     prd_data
  GROUP BY sub_prd_id
) t

Se den på sqlfiddle .



  1. Hur fixar jag återställning väntande tillstånd i SQL Server Database?

  2. Undviker SQL-injektion utan parametrar

  3. Ändra språk för MySQL-felmeddelandet

  4. MySQL, ska jag vara ansluten eller ansluta när det behövs?