Subquery - Problem mit Sortierung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Subquery - Problem mit Sortierung

    Hallo,

    wie kann ich die Ausgabe so sortieren, das sie nach COUNT(pp.pid) sortiert wird? An den Wert selber komme ich irgendwie nicht ran. Aktuell wird immer nach id aufsteigend sortiert, aber ich würde gern nach Anzahl sortieren

    Code:
    SELECT t1.pid FROM table1 t1
    INNER JOIN table2 t2 ON t1.name = t2.name
    WHERE t1.pid IN 
    (
    SELECT * FROM (SELECT pp.pid as verglichen_mit
    FROM vergleich pp
    INNER JOIN vergleich pp1 ON pp1.id = pp.id
    WHERE pp.pid != pp1.pid
    AND pp1.pid = 1853
    GROUP BY pp.pid
    ORDER BY COUNT(pp.pid) DESC
    LIMIT 0,12) foo
    )

  • #2
    Hallo,

    du benutzt die Subquery nur als Where-Klausel. Wenn du sie joinst, kannst du auch auf ihre Spalten zugreifen:

    Code:
    SELECT
        tabelle1.spalte1,
        tabelle2.spalte2,
        tabelle3.spalte3,
        ...
    FROM tabelle1
    JOIN tabelle 2 ON ...
    JOIN (SELECT ... FROM ...) AS tabelle3
    WHERE ...
    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Hi,

      vielen Dank, das hat super geklappt, mit kleinen Änderungen. (s.u.)
      Die WHERE-Klausel habe ich nicht mehr benötigt und die Sortierung geht auch.

      Ich hatte es mit meiner Variante probiert, da diese Abfrage schneller war, als mit Joins. Allerdings habe ich die Joins anderes gesetzt. Ich hatte 4 Joins hintereinander genutzt und nicht die gesamte Subquery gejoint.

      Nochmal Danke :-)

      Code:
      SELECT
          tabelle1.spalte1,
          tabelle2.spalte2,
          tabelle3.spalte3,
          ...
      FROM tabelle1
      JOIN tabelle 2 ON ...
      JOIN (SELECT ... FROM ...) AS tabelle3 ON tabelle3.pid = tabelle1.pid

      Kommentar


      • #4
        Zitat von lx-club Beitrag anzeigen
        das hat super geklappt, mit kleinen Änderungen
        Das hat Pseudocode so an sich, dass man den noch abändern muss.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          war auch keine Kritik.
          Den richtigen Anstoß hast du mir ja gegeben und nun läuft es :-)

          Kommentar

          Lädt...
          X