Ankündigung

Einklappen
Keine Ankündigung bisher.

Subqueries und UNION in MySQL 3.x

Einklappen

Neue Werbung 2019

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

  • Subqueries und UNION in MySQL 3.x

    Hier Jungs. Folgendes moechte ich machen:
    Ich habe eine Tabelle, in der Datensaetze mit einem Datum (Unixtimestamp) versehen sind. Jetzt moechte ich einen Teil der Datensaetze, naemlich den, der in der Zukunft liegt mit ORDER BY sdate ASC, und den anderen Teil, der in der Vergangenheit liegt mit ORDER BY sdate DESC haben. Und das ganze am liebsten in einem Resultset.
    Bei 4.x sinds zwei Queries und ein UNION. Kein Thema. Beides gibts in 3.x noch nich. Ideen ?
    Danke
    f

  • #2
    Wie hast du vor die Daten weiter zu verarbeiten?
    In welcher Reihenfolge stellst du dir vor, dass sie im Resultset liegen?

    Kommentar


    • #3
      ich will sie einfach in einer while schleife ausgeben, wobei ich immer uebepruefe, ob das datum vor oder nach jetzt liegt. das ganze ist reine bequemlichkeit und interesse ob sowas funktioniert. ich koennte natuerlich auch einfach zwei queries starten, dann waer das ganze schon erledigt. ich koennte auch einfach auf 4.1 upgraden, dann haette sich das auch getan, mich wuerds aber wie gesagt mal interessieren, ob sowas umsetzbar is...

      #edit reihenfolge wie gesagt, der erste teil, alle daten, die in der zukunft liegen ASC sortiert, der zweite teil, alle daten die in der vergangenheit liegen DESC sortiert. alles in einem rs...

      Kommentar


      • #4
        Versuchs mal so:
        Code:
        SELECT
           sdate,
           IF(sdate >= UNIX_TIMESTAMP(), 0, 1) AS vornach     /* 0 = künftig / 1 = vergangen */
        FROM
           tabelle
        ORDER BY
           vornach ASC , ABS(sdate - UNIX_TIMESTAMP()) ASC
        ";
        _____________
        mfG -dilemma-

        Kommentar


        • #5
          very nice, funktioniert. jetz muss ich nur noch verstehen, wieso *g
          besten dank erstma

          Kommentar


          • #6
            okay, habs durchschaut. seeehr schoener trick mit abs(), waer ich nich drauf gekommen. hast du das schon mal verwendet ? ich wusste auch nich, dass order by mehrere argumente nimmt. naja man lernt nie aus. danke nochma...

            Kommentar

            Lädt...
            X