Wymyśliłem coś takiego:
Kod
SELECT COUNT(id) as three FROM users WHERE (UNIX_TIMESTAMP(last_access) + 180) > UNIX_TIMESTAMP()
UNION SELECT COUNT(id) day FROM users WHERE (UNIX_TIMESTAMP(last_access) + 86400) > UNIX_TIMESTAMP()
UNION SELECT COUNT(id) day FROM users WHERE (UNIX_TIMESTAMP(last_access) + 86400) > UNIX_TIMESTAMP()
Lecz zwraca wartość tylko z 1 counta - przy wykonaniu przez php, przy wykonaniu przez Phpmyadmin jako SQL działa poprawnie, natomiast druga wersja
Kod
SELECT (SELECT COUNT(id) FROM users WHERE (UNIX_TIMESTAMP(last_access) + 180) > UNIX_TIMESTAMP() ) as mins,
(SELECT COUNT(id) FROM users WHERE (UNIX_TIMESTAMP(last_access) + 86400) > UNIX_TIMESTAMP() ) as day LIMIT 1;
(SELECT COUNT(id) FROM users WHERE (UNIX_TIMESTAMP(last_access) + 86400) > UNIX_TIMESTAMP() ) as day LIMIT 1;
Zwraca obie potrzebne przeze mnie wartości, ale dosyć wolno się wykonuje.
Ma ktoś jakieś inne propozycje?