Error bei Order by + Where

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

  • Error bei Order by + Where

    Moin

    Habe leider ein Problem mit meiner sql Syntax. Sobald ich nach Order by ASC ein Where einfüge erhalte ich ein Fehler, Wieso?


    PHP-Code:
    $abfrage "SELECT ID, name, beschreibung  FROM `tabelle` ORDER BY `ID` ASC WHERE gruppe='Freunde'"
    Danke

    WeisserWolf

  • #2
    PHP-Code:
    $abfrage "SELECT ID, name, beschreibung  FROM `tabelle` WHERE gruppe='Freunde' ORDER BY `ID` ASC "
    So vllt ?

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Ja, sorry Danke!

      Kommentar


      • #4
        Bitte gern geschehen
        Wichtig ist aber dass du verstehst warum es so nicht funzen kann

        Das Statement wird von links nach rechts ausgeführt. Dein ORDER basiert ja auf einem Treffer in der Tabelle. Wenn du das ORDER jetzt aber vor der WHERE Clause machen willst: Was hat er denn zu sortieren ? Es existieren ja keine Treffer zu diesem Zeitpunkt...

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Original geschrieben von jahlives
          Wenn du das ORDER jetzt aber vor der WHERE Clause machen willst: Was hat er denn zu sortieren ?
          Alles natürlich - weil noch keine Einschränkung der Treffermenge vorgenommen wurde.

          Ob du erst auswählst und dann sortierst oder umgekehrt, macht für das Ergebnis keinen Unterschied - für die Performance aber sehr wohl.

          Und die Syntax von SELECT ist nun mal so definiert, und gut.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            @wahsaga
            Alles natürlich - weil noch keine Einschränkung der Treffermenge vorgenommen wurde.
            PHP-Code:
            $abfrage "SELECT ID, name, beschreibung  FROM `tabelle` ORDER BY `ID` ASC WHERE gruppe='Freunde'"
            Wenn er aber nach einem Feld sortieren will, das durch eine WHERE Clause erst geholt wird, kann er doch niemals sortieren bevor nicht zumindest das Feld nach welchem er sortieren will ausgewählt wurde
            Oder sehe ich das völlig falsch...

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              ja was will er denn mit where holen
              siehe wahsaga post
              Mafia Browsergame - Scripts

              Wer glaubt, ein Christ zu sein, weil er die Kirche besucht, irrt sich. Man wird ja auch kein Auto, wenn man in eine Garage geht.
              Albert Schweitzer (14.01.1875 - 04.08.1965)

              Kommentar


              • #8
                Original geschrieben von jahlives
                Wenn er aber nach einem Feld sortieren will, das durch eine WHERE Clause erst geholt wird, kann er doch niemals sortieren bevor nicht zumindest das Feld nach welchem er sortieren will ausgewählt wurde
                WHERE wählt keine Spalten aus,
                SELECT x FROM ... wählt Spalten aus.

                Und nach Spalteninhalten wird sortiert.
                Und ob du das machst, bevor du auswählst oder nachher, macht wie gesagt für's Ergebnis keinen Unterschied.


                Aufgabe für Dich:
                Gebe mir aus
                • Maike
                • Adolf
                • Sepp
                • Trudi
                • Horst
                • Claudia

                allen männlichen Vornamen zurück, alphabetisch sortiert.

                Ob du da jetzt erst mal diese Liste in alphabetische Reihenfolge bringst, und anschließend die Männchen raussuchst, oder ob du erst mal die Männchen auswählst und dann diese sortierst, macht doch wohl Null unterschied, hm?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar

                Lädt...
                X