Citace: mmm 19. 01. 2018, 14:33:46jste slepý? Sten ve druhém příspěvku uvedl opravené správné řešení.schvalně si to na tom fiddlu zkus, zda Ti to bude fungovat...každopádně si myslím, že není potřeba joinovat a stačilo by co jsem posilal
jste slepý? Sten ve druhém příspěvku uvedl opravené správné řešení.
on chce pro každé jméno řádek s maxmálním datumem. Ten váš dotaz vrátí jen řádky s maxmálním datumem z celé tabulky.
Jo, pro každou položku:SELECT `Name`, `details`, `date`, `id`, `Flag`FROM `table`INNER JOIN ( SELECT `Name`, MAX(`date`) AS `maxDate` FROM `table` GROUP BY `Name`) `grouped`ON `table`.`Name` = `grouped`.`Name` AND `table`.`date` = `grouped`.`maxDate`
stenova odpověď je správně. Prostudujte si jí.
jen tak z hecu to zkousim, ale nedari se:https://www.db-fiddle.com/f/fnCT7fvrx9yAHHDrXfxQJ1/7
schvalně si to na tom fiddlu zkus, zda Ti to bude fungovat...každopádně si myslím, že není potřeba joinovat a stačilo by co jsem posilal
Citace: mmm 19. 01. 2018, 14:58:44stenova odpověď je správně. Prostudujte si jí.jiz jsem zkousel v dbfiddle ale neuspesnea to co jsem postoval, udela presne to co zadatel chce
SELECT test.*FROM `test`INNER JOIN ( SELECT `Name`, MAX(`date`) AS `maxDate` FROM `test` GROUP BY `Name`) `grouped`ON `test`.`Name` = `grouped`.`Name` AND `test`.`date` = `grouped`.`maxDate`;
...
Nestačilo. Uživatelé John a Josh mají každý jiná data.
OMG...tak si do primarniho SELECTU prida Name a co potrebujehttps://www.db-fiddle.com/f/fnCT7fvrx9yAHHDrXfxQJ1/10
Subquery je interně taky INNER JOIN
SELECT test.Name, details, date, id, FlagFROM testINNER JOIN ( SELECT test.Name, MAX(date) AS maxDate FROM test GROUP BY Name) AS groupedON test.Name = grouped.Name AND test.date = grouped.maxDate;
SELECT * FROM ( SELECT Name, details, datum, id, Flag FROM tabulka ORDER BY datum desc ) as t GROUP BY Name;
Tohle mi sice funguje, ale nejsem si jist, jestli je to správně:Kód: [Vybrat]SELECT * FROM ( SELECT Name, details, datum, id, Flag FROM tabulka ORDER BY datum desc ) as t GROUP BY Name;