Wapmaster Geschrieben 7. November 2004 Teilen Geschrieben 7. November 2004 Hallo, ich habe folgendes, eigentlich einfaches Problem, aber komme irgendwie nicht auf die Lösung: In einer Tabelle stehen Produkte, in der anderen Kommentare. Nun möchte ich n Produkte aus der Tabelle lesen, geordnet nach der Anzahl der Kommentare. Mir ist im moment nicht ganz klar wie ich das am besten und schnellsten löse. Für einen Tipp wäre ich sehr dankbar. Viele Grüße Wapmaster Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Vampire Geschrieben 7. November 2004 Teilen Geschrieben 7. November 2004 Ohne deine DB zu kennen tippe ich mal folgendes: select p.product, count(k.kommentar) as kommentare from produkttab p, kommentartab k where p.produktid = k.produktid order by kommentare Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wapmaster Geschrieben 16. November 2004 Autor Teilen Geschrieben 16. November 2004 hallo Vampire, ich hab das mal probiert entsprechend umzusetzen, aber das klappt so nicht. Es geht eigentlich nur um eine einzige Tabelle, die, wo die Kommentare drinstehen. Zu jedem Kommentar ist die ProduktID gespeichert, ich möchte nun die 10 ProduktID's mit den meisten Kommentaren haben. Hab jetzt noch einmal 2 Stunden dran gesessen, komme nicht weiter. Habe es mit nem Subselect probiert, aber da bleib ich beim anwenden des Count befehls hängen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 16. November 2004 Teilen Geschrieben 16. November 2004 Ich wuerde mal folgendes vorschlagen: SELECT p.Produkt FROM ProduktTable p INNER JOIN KommetarTable k ON p.ProduktID = k.ProduktID GROUP BY p.Produkt ORDER BY COUNT(k.Kommentar)[/PHP] Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wapmaster Geschrieben 17. November 2004 Autor Teilen Geschrieben 17. November 2004 mysql sagt, dass die Group Function falsch angewendet wird. Dankeschön aber für den Versuch... gibt es für solche fälle kleine tutorials oder ähnliches, indem das mal anschaulich erklärt wird? mir geht das irgendwie auffen senkel dass ich mir da nicht selbst helfen kann Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 17. November 2004 Teilen Geschrieben 17. November 2004 ...und du bist dir sicher, dass du dieses theoretische Beispiel auch richtig auf deine Tabellen und Spalten uebertragen hast? Ich waer der Meinung gewesen, dass MySql das alles kann, wenns nicht gerade eine uralt Version ist. Was fuer ein Tutorial suchst du denn? Was soll genau erklaert werden? Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wapmaster Geschrieben 17. November 2004 Autor Teilen Geschrieben 17. November 2004 hm ich glaube schon dass ich es richtig übertragen habe. ich suche eine erklärung mit beispielen in möglichst vielen unterschiedlichen fällen für sachen wie sub selects, verzweigungen allgemein (joins halt auch und was es noch gibt). habe schon lange mit mysql gearbeitet aber so richtig tief bin ich halt nie eingestiegen. per PM würde ich auch den sql code verschicken, ich mag nur nicht dass der hier im forum steht. danke nochmal Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Vampire Geschrieben 17. November 2004 Teilen Geschrieben 17. November 2004 hm ich glaube schon dass ich es richtig übertragen habe. ich suche eine erklärung mit beispielen in möglichst vielen unterschiedlichen fällen für sachen wie sub selects, verzweigungen allgemein (joins halt auch und was es noch gibt). habe schon lange mit mysql gearbeitet aber so richtig tief bin ich halt nie eingestiegen. per PM würde ich auch den sql code verschicken, ich mag nur nicht dass der hier im forum steht. danke nochmal Gute Idee, wollte ich dich auch drum gebeten haben. Meine Vorstellungskraft ist z.Z. nicht die beste... Also, bitte um Tabellencode (vielleicht mit ein bisschen Inhalt, wenns nix privates oder betriebliches ist) per PM. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 18. November 2004 Teilen Geschrieben 18. November 2004 also wenn ich allesrichtig versanden habe willst du nur DIE ProduktIDs mit den meisten kommentaren? Select produktid from ( Select distinct produktid, count(kommentare) from produkttabelle order by count(kommentare) ) where rownum < 11 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wapmaster Geschrieben 18. November 2004 Autor Teilen Geschrieben 18. November 2004 hallo snowman, naja, ich möchte eigentlich alle spalten aus der kommentar-tabelle haben, für X Datensätze, geordnet nach der Anzahl der Datensätze zu einer ID, die ebenfalls in dieser Tabelle für jeden Datensatz gespeichert wird (und auf ein Produkt verweist). Die ID ist weder unique noch primary und verweist einfach nur auf ein Produkt in einer anderen Tabelle. Es reicht jedoch völlig, für jede Zeile in der Tabelle zu prüfen, wieviele andere Zeilen für die selbe ProduktID existieren, und das halt absteigend zu ordnen. Dann noch ein Limit auf 10 oder was auch immer, und es sollte gehen. Aber in SQL habe ich damit so meine Probleme. Zur Not würde es mir auch reichen, nur die ID von jedem Datensatz zu bekommen, also den Primary Key mit auto_increment, aber ob ich nun nur diese ID bekomme oder alle Spalten, ist doch egal oder? Ich brauche sie sowieso. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.