Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL] DISTINCT
Forum PHP.pl > Forum > Bazy danych > MySQL
smarcz
Jak zrobić coś takiego - chce wyselekcjonować z bazy rekordy i obliczyć ilość wystąpień dla tylko unikalnych wpisów - nie powtórzeń.

Myślałem o czymś takim - ale nie działa:
  1. SELECT Count( `referencje` LIKE '%słowo%' ) FROM `sledz_ip`WHERE DATE(DATA) = '2008-06-25' AND DISTINCT(`adres_ip`)


Niestety nie działa - komunikat o użyciu GRUPY itd

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DISTINCT(`adres_ip`)' at line 1

questionmark.gif I jak to zrobić questionmark.gif
webdice
  1. SELECT Count( `referencje` LIKE '%słowo%' ) FROM `sledz_ip`WHERE DATE(DATA) = '2008-06-25' GROUP BY DISTINCT(`adres_ip`)


  1. SELECT Count( `referencje` LIKE '%słowo%' ), DISTINCT(`adres_ip`) FROM `sledz_ip`WHERE DATE(DATA) = '2008-06-25'


Nie wiem czy zadziała, nie ma dziś głowy do myślenia.
Shili
Distinct zawiera się przed FROM a po SELECT. Jeśli zamiast and DISTINCT adres_ip dasz GROUP by adres_ip to co się dzieje?
smarcz
Ze względu na to, że nie bardzo sobie umiem poradzić z takim zapytaniem wpadłem na pomysł, że rozbuduje tebele gdzie przewochuję unikalne adresy IP o dodatkowe pole które przechowywuje referentow. Nie bedzie wtedy problemu ze statystyka. Bo kazdy unikalny numer IP bedzie mial przypisanego jednego i konkretnego referenta. Co prawda to powieksza zbior danych - ale jest prostrze do opanowania smile.gif)

Dzięki za pomoc. Jak ktos na cos wpadnie, piszcie. Tematu jeszcze nie zamykam
wipo
A spróbuj tak:
  1. SELECT Count(*), referencje FROM `sledz_ip`WHERE DATE(DATA) = '2008-06-25' AND referencje LIKE '%słowo%' GROUP BY referencje
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.