Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MySQL query <- DUCHY !!!!
czezz
post
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


nie wiem jak to mozliwe, ale prosze przyjzyjcie sie temu przypadkowi:

takie zapytanie:
[sql:1:3963c6815c]
"SELECT tel1, sum(impuls), data, operator FROM bil WHERE io = 7 AND ( operator = 501 OR operator = 505 OR operator = 509) AND data = 110703 group by tel1 ";
[/sql:1:3963c6815c]
wywala 1158 wierszy. I ok.

ale jesli zrobie 3 zapytania w których pojedynczo wymienie 3 rozne kryteria z kolumny "operator" to ich suma da liczbe 1230 <- wiecej niz wynik z zapytania, ktore przedstawilem!!!

Malo sie znam i operowalem zazwyczaj przy ORACL'u, ale nie potrafie dojsc dlaczeg wyniki mi sie nie zgadzaja (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

plz hlp.

wedlog mnie.. to sa duchy 8O
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adwol
post
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
nie moge usunac GROUP BY, bo uzywam funkcji SUM(). Bez GROUP BY niezadziala (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Nie mówie żebyś usunął to produkcyjnie tylko usunął na chwile i zobaczył wynik. To nie są żadne duchy, tylko akurat masz takie dane, że dostajesz taki efekt. Jest to całkiem normalne.

Sprawdź czy nie masz kilku wierszy, które mają tę samą wartość pola tel1 i różne wartości pola operator, bo wydaje mi się, że masz. Wtedy GROUP BY w oddzielnych zapytaniach będzie wielokrotnie zliczało tą samą grupę co da zawyżony wynik, a w jednym sklei wszystkie te wiersze w jeden.

Niezależnie od tego czy dopuszczasz taką sytuację z punktu widzenia formalnego, technicznie jest to możliwe.
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: 3.10.2025 - 22:54