Erst Limit, dann Order

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

  • Erst Limit, dann Order

    Hi

    ist es möglich dass man bei einer mysql abfrage zuerst das limit setzt und danach das 'order by'? weil ich möchte folgendes machen:

    ich habe z.b. 100 datensätze. er soll mir davon 10 auslesen und zwar ab dem 20. datensatz und mit dem datum geordnet.

    also => order by date limit 20,10

    jetzt ändert sich aber das 'order by' mit einem link.

    => order by name limit 20,10

    logischerweise gibt er jetzt nicht mehr die gleichen datensätze aus. er soll jetzt aber zuerst alle datensätze nach dem datum ordnen, dann die 10 datensätze auslesen und dann nach dem namen ordnen.

    weiss jemand wie man das am besten macht?

    danke & gruss

  • #2
    hol dir die ID's der Datensätze mit und benutze die in der WEHERE-Klausel deiner Abfrage
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      wie soll dass denn mit 'where' funktionieren??

      Kommentar


      • #4
        Mit LIMIT 20,10 erhälst du 10 Datensätze. Diese haben eine ID.

        Dann einfach SELECT * FROM tab WHERE ID = '1' OR ID = '2' OR ... OR ID = '10' ORDER BY sortierkriterium

        oder du schreibst die ID's in einen Array dann: WHERE ID IS IN id_array ORDER BY
        it's not a bug,
        it's a feature!

        Kommentar


        • #5
          der order-key ist flexibel? wenn ja dann muß du php-seitig sortieren. wenn aber nur nach Datum und Name, dann kannst du immer: ... order by datum <asc/desc>,name <asc/desc> limit ...

          @XGremliN, wenn überhaupt, dann ... where id IN (...)

          Kommentar


          • #6
            Original geschrieben von XGremliN
            Mit LIMIT 20,10 erhälst du 10 Datensätze.
            eben, du erhältst sie schon (wenn du willst).

            warum also dann noch mal ein abfrage starten?


            das erste sortierkriterium in der query durchgehend beibehalten, und die sortierung nach dem zusätzlichen kriterium PHP-seitig durchzuführen, erscheint mir hier doch deutlich angebrachter ...
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              danke für eure antworten.

              kann mir vielleicht auch jemand sagen wie man in php sowas am besten sortiert? hab das bisher noch nie gemacht, nur mit mysql.

              Kommentar


              • #8
                die Daten aus der DB legst du in einem Array ab, dann schau dir mal die array-Fkt: http://www.php.net/manual/en/ref.array.php an und such dir 'ne geeignete Fkt. zum Sortieren aus.

                Kommentar

                Lädt...
                X