Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Zwei Abfragen/Gruppierungen getrennt sortieren

  1. #1
    Registrierter Benutzer
    Registriert seit
    03.04.2006
    Beiträge
    52

    Zwei Abfragen/Gruppierungen getrennt sortieren

    Hallo,

    ich habe folgendes Problem: ich möchte in einer (1) Abfrage (MySQL Version 5) erreichen, dass die erscheinenden Einträgen nach einem Kriterium (ID-Nr) sortiert werden, aber nicht durchgehend, sondern zunächst nur ein bestimmter ID-Nummernkreis (in sich sortiert) und dann der Rest.

    Also z.B. zuerst alle Ergebnisse, bei denen ID zwischen 10 und 15 (order by ID asc) und dann alle anderen (order by ID asc)

    ID
    10
    11
    12
    15
    -----
    1
    3
    7
    17
    19
    21

    Ist das mit MySQL (ohne temporäre Tabellen) machbar? Und wenn ja, dann wie?

    Vielen Dank für Hilfe im Voraus.
    Lars

    PS: Der Trennstrich aus meinem Beispiel muss natürlich nicht im Ergebnis auftauchen

  2. #2
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    Code:
    SELECT ...
    ORDER BY `id` BETWEEN 10 AND 15 DESC, `id` ASC

  3. #3
    Registrierter Benutzer
    Registriert seit
    03.04.2006
    Beiträge
    52
    Super, danke, das funktioniert.

    Obwohl mir nicht einleuchtet wieso: nach meinem Verständnis müsste doch der primäre Sortierauftrag
    Code:
    order by 'id' between 10 and 15 desc
    die Zahlen absteigend sortieren, also 15 12 11 10?!?

    Die Sortieranweisung
    Code:
    order by 'id' between 10 and 15 asc, 'id' asc
    ergibt aber blöderweise (?) nach obigem Beispiel 1 3 7 17 19 21 10 11 12 15

    Versteh ich nicht...

  4. #4
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    Guck dir mal an, was folgendes ausgibt:
    Code:
    SELECT `id` BETWEEN 10 AND 15, `id`
    FROM ...
    Die Spalte `id` BETWEEN 10 AND 15 ist entweder 1 oder 0, je nachdem, ob die ID in dem Bereich liegt, oder nicht.
    Und nach dieser 1-0-Folge wird dann absteigend sortiert, also erst die Zeilen mit 1, dann die mit 0.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •