<?php $pobieranie_najaktywniejszych_uzytkownikow = mysql_query("SELECT l.id, l.login, l.data, count(d.id) as ilosc FROM $tabela_datylogowan d, $tabela_logowanie l WHERE l.id = d.da
tylogowan_id_uzytkownika GROUP BY l.id ORDER by ilosc DESC LIMIT 10"); ?>
Mając powyższe zapytanie pobieram listę użytkowników sortując ich w odwrotnej kolejności według ilości odwiedzin. Wszystko działa poprawnie. (Zmienne na pewno przyjmują odpowiednie wartości)
Tabele:
datylogowan
id
id_uzytkownika
data
logowanie
id
login
data
Czy istnieje możliwość takiego napisania tego zapytania, aby tworzyła się dodatkowa kolumna (wirtualna - nieistniejaca w bazie), w której widoczna byłaby ilośc wizyt każdego z tych użytkowników na dzień...?
Obliczenie powinno wyglądać tak:
<?php ?>
Gdzie ilosc pochodzi z zapytania: count(d.id) as ilosc, a data jest kolumną już istniejącą w tabeli.
Kiedy zrobić to dla każdego użytkownika po wykonaniu zapytania bez obliczeń wygląda to tak:
<?php while ($dane_najaktywniejszych_uzytkownikow = mysql_fetch_assoc($pobieranie_najaktywniejszych_uzytkownikow)) { } ?>
Porblem polega jednak na tym, że w takim przypadku nie istnieje możliwość posortowania listy według częstotliwości odwiedzin, a jedynie według ich ilości, co może być zakłamaniem. Jeden użytkownik mógłby zarejestrować się rok temu i mieć 366 wizyt inny 2 dni temu i mieć wizyt 15, czyli odwiedzać stronę znacznie częściej.
Czy da się to jakoś rozwiązać? W skrócie chodzi o pobieranie danych z bazy danych MySQL wraz z dodatkowymi kolumnami, w których znajdowałyby się jakieś modyfikacje tych danych (tak by można było według nich sortować)...