Zum Inhalt springen

Select mit Limit, geordnet nach 2.er Select Anfrage


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

  • 2 Wochen später...
Geschrieben

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.

:(

Geschrieben

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

Geschrieben

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 :(

Geschrieben

...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

Geschrieben

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

Geschrieben
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.

Geschrieben

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

Geschrieben

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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...