Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sumowanie unikalnych rekordów - problem MySQL
djmentos
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 29.01.2009

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


Witam. Mam tabelę z rekordami od panelu statystyk. Poniższe zapytanie ma pobrać sumę wszystkich danych z jednego dnia, dla wszystkich stron.

  1. SELECT
  2. (SELECT COUNT(DISTINCT(stat_wizyta.wiz_ip)) FROM stat_wizyta WHERE wiz_data = '{$dataa}') AS uniq,
  3. (SELECT COUNT(stat_wizyta.id) FROM stat_wizyta WHERE wiz_data = '{$dataa}') AS odslony,
  4. (SELECT COUNT(ref_domain) FROM stat_refer WHERE ref_data = '{$dataa}') AS refy,
  5. (SELECT COUNT(kwd_data) FROM stat_keyword WHERE kwd_data = '{$dataa}') AS wyszukiwarki,
  6. (SELECT COUNT(wib_bot) FROM stat_wizbot WHERE wib_data = '{$dataa}') AS boty


Problem pojawia się w pierwszej lini.
tabel stat_wizyta ma kilka pól w tym:
wiz_ip - ip odwiedzającego
wiz_ser - id serwisu, na którym był gość.

I chodzi o to że DISTINCT sumuje rekordy z całej tabeli, nie biorąc pod uwage serwisu.

np. dla danych
stat_wizyta
wiz_ip | wiz_ser
1 | 1
2 | 1
3 | 1
1 | 2
Chciałbym otrzymać liczbę 4, co prawda IP "1" powtarza się, ale dla różnych serwisów i powinno być zliczone podwójnie, natomiast ja otrzymuję w wyniku 3.
Go to the top of the page
+Quote Post

Posty w temacie


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: 23.08.2025 - 15:44