Psal jsem i že osoba, datum nestačí na klíč, ale umím zařídit aby bylo a je to pod desetinu s, takže mi to stačí, dík.
Příspěvky odeslané z IP adresy 31.31.226.–
#2 gna
Tohle
SELECT osoba, datum,
Max(datum) AS MaxDatum
FROM tabulka
WHERE osoba IN ( ... )
AND datum < ...
GROUP BY osoba
vede k výsledku např.:
60758 2013-10-23 14:11:58 2018-03-02 14:33:15
kde všechny ostatní sloupce se vztahují k tomu datu 2013-10-23 14:11:58 (ne maximální, ale první) - které mne ale vůbec nezajímá. Samozřejmě, že mi jde o ty ostatní sloupce a osoba + datum nejsou klíč
To jsou ty problémy, které jsem zmínil.
Potřebuji najít posledních záznamy pro osoby (pro každou jeden) před danným časem. Pro jednu je to snadné:
SELECT * FROM TABLE WHERE person="osoba" AND event_time<"2017-09-01 01:40:07" ORDER BY event_time DESC LIMIT 1;
Potřebuji to ale pro více osob, které si můžu zadat třeba seznamem do IN:
SELECT * FROM dat_communications WHERE PHYSICAL IN ("X", "Y", "Z")
Při použití GROUP BY a pod narážím pořád na nějaké problémy. Lze to nějak zkombinovat? Nebo v proceduře sestavit select pomocí UNION?
Dík za radu!