nazwa [char(40)] | id_usera [int] | adres_ip [char(15)] | data_czas_logowania [int(11)]
z danymi:
aaa | 1 | 127.0.0.1 | 100
aaa | 2 | 127.0.0.1 | 110
aaa | 3 | 127.0.0.1 | 120
aaa | 2 | 127.0.0.1 | 130
aaa | 1 | 127.0.0.2 | 140
aaa | 3 | 127.0.0.2 | 150
aaa | 1 | 127.0.0.2 | 160
bbb | 2 | 127.0.0.2 | 160
Napisałem też następujące zapytanie:
SELECT `adres_ip`, `id_usera`, COUNT(`id_usera`) FROM `tabela` WHERE `nazwa` = 'aaa' AND NOT `id_usera` = '2' GROUP BY `id_usera`
Jako wynik zapytania otrzymuję tablicę:
[0] => 127.0.0.1 [1] => 1 [2] => 3
[0] => 127.0.0.1 [1] => 3 [2] => 2
Potrzebuję zmodyfikować to zapytanie w taki sposób, żeby w wyniku zamiast IP z pierwszego znalezionego rekordu było ostatnie IP danego usera. Czy można zrobić to w jednym zapytaniu? Czytałem o sortowaniu przed grupowaniem, jednak nie znalazłem nic, co by zadowoliło mnie pod względem optymalności (docelowo w tabeli będzie kilkanaście tysięcy wpisów).
Uprzejmie proszę o wskazówki.
