Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL-Abfrage

Einklappen

Neue Werbung 2019

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

  • SQL-Abfrage

    Hallo,

    ich habe folgendes Problem. Ich möchte eine SQL-Abfrage machen und dabei die Ergebnisse aber so angeordnet haben, dass ein bestimmter Wert als erstes angezeigt wird und alle anderen danach.

    Ein:

    SELECT * FROM filialen ORDER BY 'plz' = '12345'

    bringt aber leider nicht das gewünschte Ergebnis.

    Kann man so eine Abfrage überhaupt machen? Immerhin gibt es ja Postleitzahlen die "kleiner" sind und welche die "größer" sind, also ein Sortierung auf- oder absteigend bringt mir nichts.

    Vielen Dank für die Hilfe.


  • #2
    kann man aber nicht wenn plz in anführunszeichen steht backticks wären ok

    Kommentar


    • #3
      Was sind backticks?

      Kommentar


      • #4
        So funktioniert das nicht!

        SELECT * FROM filialen WHERE plz='12345' ORDER BY plz

        (edit: das ist NUR die Korrektur der Syntax... eine Sortierung bei gleichzeitiger Gleich-Abfrage macht natürlich keinen Sinn)
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          achso und ein cast von PLZ auf int dann kannste wie ne Zahl sortieren.

          Kommentar


          • #6
            Aber wenn ich WHERE plz=12345 mache, dann werden mir die anderen Postleitzahlen nicht mehr ausgegeben. Die brauche ich aber auch noch. Lediglich diese soll an erster Stelle erscheinen.

            Kommentar


            • #7
              Noch nicht fertig, aber: Debugging:SQL - PHP.de Wiki
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Zitat von lstegelitz Beitrag anzeigen
                . eine Sortierung bei gleichzeitiger Gleich-Abfrage macht natürlich keinen Sinn)
                Das ist so nicht richtig...

                Kommentar


                • #9
                  Na, eigentlich schon.
                  --

                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                  --

                  Kommentar


                  • #10
                    Also angenommen in der Datenbank stehen die PLZs 10000,12345,20000

                    Dann soll die Ausgabe sein : 12345,10000,20000 richtig?

                    Mir ist jetzt nicht bekannt, dass man das mit einer eleganten SQL-Abfrage covern könnte.

                    Allerdings, wenn Dir die eine bestimmte PLZ sowieso bekannt ist, dann könntest Du evtl. genau diese Nummer bei Deiner Abfrage ausschließen
                    Code:
                    WHERE plz != '12345'
                    Bei der Verarbeitung kannst Du dann ja Deine bestimmte PLZ dem Abfrageergebnis sozusagen manuell voranstellen. Ich weiß, ist nicht elegant, wird aber funktionieren.
                    Es ist schon alles gesagt. Nur noch nicht von allen.

                    Kommentar


                    • #11
                      Code:
                      ORDER BY IF('wunschwert'=`table`.`field` , 0 , 1) , `table`.`field` ASC
                      --

                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                      --

                      Kommentar


                      • #12
                        Zitat von nikosch Beitrag anzeigen
                        Code:
                        ORDER BY IF('wunschwert'=`table`.`field` , 0 , 1) , `table`.`field` ASC
                        Läßt mir erst mal den Mund offen stehen. Welch eine Repertoire!

                        Wußte gar nicht, dass man bei der Sortierung noch if-Abfragen einbauen kann. Nach längerem Grübeln ist mir aber klar, was Du da machst.

                        Wo lernt man denn sowas?
                        Es ist schon alles gesagt. Nur noch nicht von allen.

                        Kommentar


                        • #13
                          Sowas weiß man.
                          --

                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                          --

                          Kommentar


                          • #14
                            Zitat von nikosch Beitrag anzeigen
                            Sowas weiß man.
                            Was bedeuten in der IF-Abfrage die 0,1 wenn ich fragen darf?
                            Danke schon mal.
                            "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

                            Kommentar


                            • #15
                              Die bedeuten 0 und 1. 0 wird fürgemein vor 1 einsortiert. Den Rest kann man unter IF nachlesen.
                              --

                              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                              --

                              Kommentar

                              Lädt...
                              X