Come non detto, non sono riuscito a risolvere del tutto il problema.
Dovrei ottenere con una singola query il risultato che si ottiene con doppia query:
Codice:
SELECT DISTINCT (ip) AS ip_unico FROM tabella WHERE dataora <= CURDATE() AND dataora >= CURDATE() - INTERVAL 3 DAY GROUP BY ip ORDER BY id DESC
al cui interno è contenuta quest'altra:
Codice:
SELECT * FROM tabella WHERE dataora <= CURDATE() AND dataora >= CURDATE() - INTERVAL 3 DAY AND ip=ip_unico ORDER BY id ASC
Questo significa che fa una query per ogni visita per cui con le oltre 150 visite giornaliere che ho sul mio sito significherebbe un dispendio di risorse enorme che andrebbe sempre peggio all'aumentare delle visite.
Quello che voglio fare è ottimizzare questa query facendone una singola in modo da estrarre i dati usando lo stesso stile che usa histats.com
Quindi in modo da vedere in ordine:
Refer: xxxxxx
IP: xxx.xxx.xxx.xxx
Browser: xxxxxxxxxx
Pagina visitata n° 1
Pagina visitata n° 2
Pagina visitata n° 3
Refer: yyyyyyy
IP: yyy.yyy.yyy.yyy
Browser: yyyyyyyyy
Pagina visitata n° 1
Pagina visitata n° 2
Pagina visitata n° 3
Pagina visitata n° 4
Pagina visitata n° 5
Avete in mente un modo per ottimizzare il tutto?