p.s. prawdę mówiąc obawiam się trochę wydajności (JOIN, WHERE, GROUP BY, ORDER BY, LIMIT), ale poczekamy zobaczymy, oby tylko działało na obu bazach.
Obawiam się że zagnieżdzone zapytania są bolaczką MySQL'a i mogą nie zadziałać.
W mysqlu trzeba robić coś takiego:
Lock table dupa read; create temp table blabla; selct max(data) group by id into blabla; alter blabla create index;
select wlasciwy where dupa cross join blabla;
Unlock;
coś co w pgsql robi select .... where dupa in (select costam);
Nic nie mówiłem o pytaniach zagnieżdżonych, natomiast wyczułem, że będą problemy, bo postgres puszczał JOIN, a MySQL (jak się okazało) potrzebował LEFT JOIN. Dla ciekawskich podaję zapytanie (chyba najdłuższe w całym lms :) )
SELECT nodeid, ipaddr, name, sum(upload) as upload, sum(download) as download
FROM stats LEFT JOIN nodes ON stats.nodeid=nodes.id
WHERE (ipaddr>1 AND ipaddr< 100000000000) AND (dt > 223 AND dt < 100000000000) GROUP BY nodeid, name, ipaddr ORDER BY ipaddr LIMIT 10
note: liczby przykładowe
-- Pozdrawiam Aleksander Machniak ( A.L.E.C ) http://k27.prv.pl/alec GG-2275252