Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zliczanie zdarzeń za pomocą COUNT()
beel
post 9.10.2011, 14:30:22
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 20.04.2007

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


Witam, otóż mam w bazie sprawy, w których rejestrowane są pewne zdarzenia.

I tak zapytanie:
  1. SELECT COUNT(*)
  2. FROM umowa JOIN sprawa ON umo_id_spr=spr_id
  3. JOIN s_etap ON spr_id_set=set_id
  4. JOIN komornicy ON spr_id_komornika=kom_id
  5. JOIN sady ON spr_id_sadu=sad_id
  6. JOIN konto AS k2 ON spr_id=k2.kon_id_spr AND k2.kon_id_sop=409
  7. JOIN zdarzenie ON zda_id_spr=spr_id
  8. JOIN s_opis_zdarzenia ON zda_id_soz=soz_id
  9. WHERE kom_imie_i_nazwisko IS NOT NULL AND kom_imie_i_nazwisko != ''
  10. AND soz_nazwa='MOJE ZDARZENIE'


Da mi wynik: 7872.

Działa dobrze, bo zlicza wszystkie wystąpienia danego zdarzenia (MOJE ZDARZENIE). Lecz gdy zapytanie zmodyfikuje do postaci (Klauzula group by):
  1. SELECT umo_idprocesu
  2. FROM umowa JOIN sprawa ON umo_id_spr=spr_id
  3. JOIN s_etap ON spr_id_set=set_id
  4. JOIN komornicy ON spr_id_komornika=kom_id
  5. JOIN sady ON spr_id_sadu=sad_id
  6. JOIN konto AS k2 ON spr_id=k2.kon_id_spr AND k2.kon_id_sop=409
  7. JOIN zdarzenie ON zda_id_spr=spr_id
  8. JOIN s_opis_zdarzenia ON zda_id_soz=soz_id
  9. WHERE kom_imie_i_nazwisko IS NOT NULL AND kom_imie_i_nazwisko != ''
  10. AND soz_nazwa='MOJE ZDARZENIE' GROUP BY umo_idprocesu


To mi zwróci 7038 wierszy. Jak tę liczbę 7038 zwrócić za pomocą COUNT()? Czyli aby nie zliczać podwójnych zdarzeń w bazie dla konkretnej sprawy?

Ten post edytował beel 9.10.2011, 14:32:02
Go to the top of the page
+Quote Post
phpion
post 31.10.2011, 16:34:17
Post #2





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Może nieco za późno, ale może się przyda:
  1. SELECT COUNT(DISTINCT umo_idprocesu)...

Powinno zadziałać.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 10:42