| kova |
Geschrieben am: So 19.02.2006, 16:49
|
||
|
AyomRank 2 ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 14 Mitglied seit: 13.02.2006 |
hallo warum funktioniert nicht der DISTINCT obwohl keine fehler drin sind
soll eigentlich nur ein bild pro user einzeigen. |
||
![]() |
| Alonso WEPAX.com |
#2 Geschrieben am: So 19.02.2006, 19:53 (+03:03)
|
![]() AyomRank 6 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 517 Mitglied seit: 10.02.2005 |
Entweder leihst du uns deine Glaskugel, oder stellst noch brauchbare Angaben dazu
So wie ich das beurteilen kann, sind pro Benutzer mehrere Bilder abgelegt oder? Und du möchtest einfach alle User mit je einem Bild kriegen, oder? Falls ja, müsstest du noch mit group by U.id oder so arbeiten. -------------------- |
![]() |
| Sascha Ahlers |
#3 Geschrieben am: So 19.02.2006, 20:30 (+00:37)
|
||
![]() AyomRank 8 Gruppe: Experten Entwicklung Beiträge: 1708 Mitglied seit: 27.12.2004 |
Ich glaube der Fehler liegt beim Anwender, DISTINCT wird schon richtig funktioneren. Oder gibt die Abfrage etwa zwei komplett identische Datensätze aus, in dem alle diese Felder gleich sind: "P.userid, P.url, P.id, P.open, P.facetoface_pro, P.facetoface_contra"? MfG Sascha Ahlers -------------------- Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."
Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007 |
||
![]() |
| kova |
#4 Geschrieben am: Mo 20.02.2006, 15:00 (+18:29)
|
||
|
AyomRank 2 ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 14 Mitglied seit: 13.02.2006 |
die fehler sind nicht gleich
nur die P.userid ist gleich bei jedem bild. Deswegen soll distintc die userid nicht wieder hollen alles, aber wenn ich die restlichen felder wege lassen bekomme ich die genau anzahl der userid`s aber das bild wird dann nicht angezeigt und das restliche. |
||
![]() |
| Alonso WEPAX.com |
#5 Geschrieben am: Mo 20.02.2006, 15:17 (+00:17)
|
||
![]() AyomRank 6 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 517 Mitglied seit: 10.02.2005 |
Ich wiederhole mich ungerne.. -------------------- |
||
![]() |
| kova |
#6 Geschrieben am: Mo 20.02.2006, 15:34 (+00:16)
|
||
|
AyomRank 2 ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 14 Mitglied seit: 13.02.2006 |
jo es funktioniert mit GROUP by userid bloss es gibt noch ein hacken dabei. es liest das erste bild das der user hochgeladen aber nicht das meinst bewerteste.
|
||
![]() |
| Sascha Ahlers |
#7 Geschrieben am: Mo 20.02.2006, 19:20 (+03:46)
|
||
![]() AyomRank 8 Gruppe: Experten Entwicklung Beiträge: 1708 Mitglied seit: 27.12.2004 |
Ja, das ist ja gerade der entscheidene Punkt, wenn irgendwo ein Datensatz erscheinen würde in dem diesen ganzen Felder gleich sind, wäre es ein Fehler, aber nicht, wenn nur eines der Felder in den einzelnen Datensätzen gleich ist. Somit funktioniert die DISTINCT-Anweisung doch richtig und der Fehler liegt innerhalb der Abfrage begründet. Distinct bezieht sich hierbei auf den kompletten Datensatz und nicht nur auf das erste Feld, es ist in etwa das Gleiche wenn man mehrere Felder bei der GROUP-BY-Anweisung angeben würde. Um jetzt wegen der Bewertung zu schauen, müsste man überhaupt mal wissen, in welchen Feld die Bewertung gespeichert bzw. auch wie diese gespeichert wird. Für mich wird es zumindestens so nicht ersichtlich, wie Du diese Bewertung speicherst. Meine Vermutung wäre so, dass die Tabelle wohl nicht vernünftig normalisiert wurde. MfG Sascha Ahlers -------------------- Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."
Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007 |
||
![]() |
| kova |
#8 Geschrieben am: Mo 20.02.2006, 22:04 (+02:43)
|
||||
|
AyomRank 2 ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 14 Mitglied seit: 13.02.2006 |
wie meinst du des??
so sieht die tabelle aus wo die bewertung gespeichert wird. Und zwar in positiven und negativen bewertungen daraus wird dann der prozent satz gewonnen. Durch diesen code "round((100*P.facetoface_pro)/(P.facetoface_contra+P.facetoface_pro),2)" und nach diesem code wird es auch sortiert. |
||||
![]() |
| Sascha Ahlers |
#9 Geschrieben am: Mo 20.02.2006, 22:41 (+00:37)
|
![]() AyomRank 8 Gruppe: Experten Entwicklung Beiträge: 1708 Mitglied seit: 27.12.2004 |
Nun, an der Abfrage ist nichts falsch, doch vielleicht hast Du vergessen, dass die GROUP-BY-Klausel viele Datensätze im Vorfeld herauswirft, in denen sich auch Bewertung befinden können.
Zu Deiner anderen Frage, dass war eine Vermutung. Nur wenn Du die Bilder nach Ihrer Bewertung liesten möchtest, und die Bilder nicht doppelt vorkommen können, frage ich mich, warum Du genau keine doppelten Benutzerids haben möchtest. Eine Ausführlichere Beschreibung wäre wirklich angebracht, was möchtest Du genau machen, und welche Daten hast Du? So komme ich eigentlich auch wieder zu meiner Vermutung, dass die Tabelle vielleicht nicht richtig normalisiert wurde auf die gewünschten Bedürfnisse (ich verstehe halt unter "vernünftig normalisiert" → den Bedürfnissen, welche an das Programm gestellt werden, am Besten entsprechend). MfG Sascha Ahlers -------------------- Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."
Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007 |
![]() |
| kova |
#10 Geschrieben am: Di 21.02.2006, 13:15 (+14:34)
|
|
AyomRank 2 ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 14 Mitglied seit: 13.02.2006 |
man kanns doch irgendwie machen das es funktioniert. Es funktioniert aber es lies nicht das höchts bewertet bild aus der datenbank.
ich weiß nicht mehr weiter was muss ich den da nun an der sql verändern das es funktioniert. |
![]() |
| Sascha Ahlers |
#11 Geschrieben am: Di 21.02.2006, 13:56 (+00:40)
|
||
![]() AyomRank 8 Gruppe: Experten Entwicklung Beiträge: 1708 Mitglied seit: 27.12.2004 |
Das kann ich Dir so nicht sagen, dazu bäuchte ich etwas mehr informationen als nur die Abfrage und die Struktur der Tabelle. Ich müsste schon mal ganz genau wissen, was Du machen möchtest und wieso Du unbedingt jede Benutzer-ID nur einmal innerhalb Deiner Abfrage verwerten möchtest. Hast Du einfach mal die GROUP-BY-Klausel herausgenommen? MfG Sascha Ahlers -------------------- Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."
Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007 |
||
![]() |
| kova |
#12 Geschrieben am: Di 21.02.2006, 14:09 (+00:13)
|
|
AyomRank 2 ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 14 Mitglied seit: 13.02.2006 |
ich hab eine topliste auf meiner flirt seite da werden die männer von frauen unterschieden also zwei verschieden toplisten. Der gund ist warum ich nur eine benutzer-id haben will weil eine benutzer wird dann mehrmals in der topliste aufgelistet und des wäre den anderen gegenüber unfähr weil die vielleicht um 0,86 % unter den anderen benutzer liegen.
hier kannst du es sehen wie es im moment ist: Mänmliche Top 10 |
![]() |
| kova |
#13 Geschrieben am: Do 23.02.2006, 00:38 (+34:29)
|
|
AyomRank 2 ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 14 Mitglied seit: 13.02.2006 |
wießt ihr nicht mehr weiter oder wollt ihr nicht helfen??
|
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/10694
![]() |
![]() ![]() ![]() |
Anzeige - [Hier werben / Mediadaten]

















