Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] Wyświetlenie niepowtarzających się danych, Troszeczke skomplikowana sprawa.
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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.

Ten post edytował kukix 19.06.2013, 17:21:56
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




DISTINCT
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #3





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


  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
Go to the top of the page
+Quote Post
kukix
post
Post #4





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 11:08