WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 22.06.2007, 14:35   #1
mqs
Master
 
Registriert seit: 08.05.2001
Alter: 43
Beiträge: 533


mqs eine Nachricht über ICQ schicken
Standard [php/sql] count wert wird falsch ausgegeben

Hallo!
habe eine mysql abfrage, bei der mir der count wert falsch ausgegeben wird. evtl habe ich hier einen denkfehler. meine abfrage sieht folgendermaßen aus:

PHP-Code:
SELECT entrys_data.*,entrys_klicks.fentrys_branchen.*, 
branchen_data.*, bezirke_data.*, COUNT(entrys_klicks.f) AS 
countklicks,entrys_data.id AS identrys_data.bildname AS bildname 
FROM entrys_data LEFT JOIN entrys_branchen ON 
entrys_branchen
.id_entry entrys_data.id LEFT JOIN branchen_data ON 
entrys_branchen
.id_branche branchen_data.id LEFT JOIN entrys_klicks 
ON entrys_klicks
.id_entry entrys_data.id LEFT JOIN bezirke_data ON 
bezirke_data
.plz entrys_data.plz GROUP BY entrys_data.id ORDER BY 
countklicks DESC LIMIT 0
12 
der countclicks wert ist die anzahl der einträge in der tabelle entry_klicks

wenn ich dies nun mit einer schleife ausgebe sollte er mir die einträge nach den klicks sotrieren.. funktioniert soweit bis auf das, dass einige einträge vom wert her verdoppelt bzw verdreifacht werden
ist hier das GROUP BY evtl falsch gesetzt oder stimmt was mit den verknüpfungen nicht? wenn ich zB bei GROUP BY schreibe "GROUP BY entrys_klicks.f, entrys_data.id" wert der wert sogar noch mehr vervielfacht und es werden weniger einträge ausgegeben.

mit dieser abfrage erhalte ich den richtigen wert:
PHP-Code:
$anzahl= @mysql_num_rows(@mysql_query("SELECT * FROM entrys_klicks WHERE f='$id'")); 
____________________________________
http://www.schmausen.at
Dein Infoportal für Mittagsmenüs in Klagenfurt
mqs ist offline   Mit Zitat antworten
Alt 22.06.2007, 21:10   #2
powerman
gesperrt
 
Registriert seit: 08.06.2002
Alter: 76
Beiträge: 4.263


Standard

hi,
@MQS ->DANKE-> sonst noch Fragen?
powerman ist offline   Mit Zitat antworten
Alt 23.06.2007, 00:12   #3
mqs
Master
 
Registriert seit: 08.05.2001
Alter: 43
Beiträge: 533


mqs eine Nachricht über ICQ schicken
Standard

aehm.. schlecht formuliert?
oder kanns nicht irgendwas sein was ich übersehenhabe? wahrscheinlich schon, aber in welche richtung...
es geht ja eigentlich nur um die count funktion
____________________________________
http://www.schmausen.at
Dein Infoportal für Mittagsmenüs in Klagenfurt
mqs ist offline   Mit Zitat antworten
Alt 09.07.2007, 08:36   #4
mqs
Master
 
Registriert seit: 08.05.2001
Alter: 43
Beiträge: 533


mqs eine Nachricht über ICQ schicken
Standard

bin draufgekommen, dass es mit dem group by zu tun hat, da ich eine table mit left join verknüpft habe die nicht mit der haupt id zu tun hat sondern nur eine nebenfunktion.. und dadurch wird mir der count wert vervielfacht...

wenn ich jetzt zB das "group by" nicht auf die haupt id, die ich benötige, setze, dann wird mir der count wert richtig ausgegeben, aber dann der eintrag 2x oder 3x nacheinander..

kann ich da sowas wie 2 group by's verwenden? oder sowas in der art?
____________________________________
http://www.schmausen.at
Dein Infoportal für Mittagsmenüs in Klagenfurt
mqs ist offline   Mit Zitat antworten
Alt 13.07.2007, 08:11   #5
Zeddicus
Veteran
 
Registriert seit: 29.03.2001
Alter: 41
Beiträge: 344


Standard

ich kenn mich zwar nicht mit mysql aus aber lt. ANSI-SQL müsste group by über mehrere spalten möglich sein:

group by spalte1, spalte2, spalte3 ....

ich hoffe es ist ANSI-SQL ich kenns halt so aus oracle

lg zedd
____________________________________
Nichts ist jemals einfach!
------------------------------------
Das 1. Gesetz der Magie (SotT):
Menschen sind dumm! Sie glauben das was sie glauben wollen!

Klingt das nicht irgendwie nach der Marketingstrategie diverser Soft- und Hardwarefirmen ?!?
Zeddicus ist offline   Mit Zitat antworten
Alt 13.07.2007, 08:12   #6
Zeddicus
Veteran
 
Registriert seit: 29.03.2001
Alter: 41
Beiträge: 344


Standard

ich kenn mich zwar nicht mit mysql aus aber lt. ANSI-SQL müsste group by über mehrere spalten möglich sein:

group by spalte1, spalte2, spalte3 ....

ich hoffe es ist ANSI-SQL ich kenns halt so aus oracle

lg zedd

//edit:
ups is irgendwie ein zweites mal hineingerutscht...
____________________________________
Nichts ist jemals einfach!
------------------------------------
Das 1. Gesetz der Magie (SotT):
Menschen sind dumm! Sie glauben das was sie glauben wollen!

Klingt das nicht irgendwie nach der Marketingstrategie diverser Soft- und Hardwarefirmen ?!?
Zeddicus ist offline   Mit Zitat antworten
Alt 13.07.2007, 21:42   #7
mqs
Master
 
Registriert seit: 08.05.2001
Alter: 43
Beiträge: 533


mqs eine Nachricht über ICQ schicken
Standard

ja, danke,.. hab ich leider schon probiert gehabt.. irgendwie fruchtet das nicht
____________________________________
http://www.schmausen.at
Dein Infoportal für Mittagsmenüs in Klagenfurt
mqs ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:09 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag