Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Wyświetlenie niepowtarzających się danych
Forum PHP.pl > Forum > Bazy danych
kukix
Witam.
Posiadam tabele z infomracjami na temat tego, co dabny użytkownik na stronie oglądał i klikał.

Mam jednak problem z wyświetleniem tych danych w odpowiedni sposób.

Potrzebuje wyświetlić listę wszystkich użytkowników. Potrzebuje konkretnie wyświetlić konkretnie najnowszy (ostatni wpis) z każdego użytkownika (czyli stat_ip)


Tabela wygląda tak:
  1. CREATE TABLE IF NOT EXISTS `stat_useraction` (
  2. `stat_id` int(10) NOT NULL AUTO_INCREMENT,
  3. `stat_ip` varchar(15) COLLATE utf8_polish_ci NOT NULL,
  4. `stat_timestamp` varchar(15) COLLATE utf8_polish_ci NOT NULL,
  5. `session_id` varchar(100) COLLATE utf8_polish_ci NOT NULL,
  6. `session_start_timestamp` varchar(100) COLLATE utf8_polish_ci NOT NULL,
  7. `zalogowany` varchar(20) COLLATE utf8_polish_ci NOT NULL,
  8. `zalogowany_email` varchar(255) COLLATE utf8_polish_ci NOT NULL,
  9. `stat_akcja_typ` varchar(100) COLLATE utf8_polish_ci NOT NULL,
  10. `stat_akcja_wartosc` varchar(100) COLLATE utf8_polish_ci NOT NULL,
  11. PRIMARY KEY (`stat_id`),
  12. UNIQUE KEY `stat_id` (`stat_id`)
  13. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=7292 ;


Próbowałem na kilka sposobów:
Najbliżej było z GROUP BY
  1. SELECT * FROM stat_useraction GROUP BY stat_ip ORDER BY stat_id DESC LIMIT 100;


Jednak nie był to ostatni wpis, ale jakiś przypadkowy chyba.
erix
DISTINCT
mmmmmmm
  1. SELECT s.* FROM stat_useraction s JOIN (SELECT max(stat_id) stat_id FROM stat_useraction GROUP BY stat_ip) x ON x.stat_id=s.stat_id
kukix
Cytat(mmmmmmm @ 19.06.2013, 23:48:20 ) *
  1. SELECT s.* FROM stat_useraction s JOIN (SELECT max(stat_id) stat_id FROM stat_useraction GROUP BY stat_ip) x ON x.stat_id=s.stat_id


Dziwna sprawa, bo opokazujasię tylko dwa wpisy, a w bazie mma już około 8000 pozycji. Co może być nie tak?

Cytat(erix @ 19.06.2013, 19:03:11 ) *
DISTINCT

Próbowałem, ale taki wpis nic mi nie zawrac:

  1. SELECT DISTINCT stat_ip FROM stat_useraction ORDER BY stat_id DESC LIMIT 100;


coś mam problem z tym DISTINC równiez.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.