Michael: Mysql Sortierung

Angenommen ich habe folgende MySQL Tabelle:

Name   KaufDatum  Autos

Marie  1.2.2007    3
Heinz  1.2.2007    4
Bernd  1.2.2006    5
Uta    1.2.2005    4
Horst  1.2.2004    1

Nun möchte ich mir die Namen ausgeben lassen, sekundär sortiert nach Autos absteigend, zuerst aber die Namen Mit KaufDatum nach dem 1.1.2007 (Marie+Heinz). Ausgeben soll es dabei alle Zeilen.

eine normale SQL Abfrage wäre:

select Name from Tabelle where 1 order by Autos desc.

nur wie bekomme ich folgendes ergebnis hin, wobei erst die werte mit einem Datum nach 1.1.2007 nach Autos absteigend ausgegeben werden , und danach die Werte vor 1.1.2007 nach Autos absteigend?

Ergebnis sollte sein:
Heinz
Marie
Bernd
Uta
Horst

  1. select Name from Tabelle where 1 order by Autos desc.

    versuch mal sowas
    select Name from Tabelle where (Bed.) order by Autos desc
    union select Name from Tabelle where (Bed.) order by Autos desc

  2. Angenommen ich habe folgende MySQL Tabelle:

    Name   KaufDatum  Autos

    Marie  1.2.2007    3
    Heinz  1.2.2007    4
    Bernd  1.2.2006    5
    Uta    1.2.2005    4
    Horst  1.2.2004    1

    Nun möchte ich mir die Namen ausgeben lassen, sekundär sortiert nach Autos absteigend, zuerst aber die Namen Mit KaufDatum nach dem 1.1.2007 (Marie+Heinz). Ausgeben soll es dabei alle Zeilen.

    eine normale SQL Abfrage wäre:

    select Name from Tabelle where 1 order by Autos desc.

    nur wie bekomme ich folgendes ergebnis hin, wobei erst die werte mit einem Datum nach 1.1.2007 nach Autos absteigend ausgegeben werden , und danach die Werte vor 1.1.2007 nach Autos absteigend?

    Ergebnis sollte sein:
    Heinz
    Marie
    Bernd
    Uta
    Horst

    ... meinst Du sowas wie ORDER BY KaufDatum DESC, Autos DESC?

    Nick

    --
    --------------------------------------------------
    http://www.xilp.eu
    XILP Internet Links People
    Dein persoenliches privates Netzwerk
    aus Freunden, Verwandten, Bekannten und Kollegen.
    --------------------------------------------------
    1. Nein, das meinte ich nicht, sondern eher nochmal eine "Where größer als  bestimmtes Datum" spaltung

  3. Hallo Michael,

    ich verstehe Deine Frage nicht ganz. Ich hätte Dir das gleiche vorgeschlagen
    wie Nick.

    angenommen Du hast folgende Tabelle

    Name   KaufDatum  Autos

    Marie  1.3.2007    3       -- Beachte die Änderung
    Heinz  1.2.2007    4
    Bernd  1.2.2006    5
    Uta    1.2.2005    4
    Horst  1.2.2004    1

    Sollte dann immer noch das hier herauskommen?

    Heinz
    Marie
    Bernd
    Uta
    Horst

    Freundliche Grüße

    Vinzenz

    1. Es soll erstmal die Werte nehmen, die nach dem 1.1.2007 sind, diese nach Autos absteigend ordnen, dann soll es die Werte vor dem 1.1.2007 nehmen und nach Autos(anzahl) absteigend ordnen:

      über 2 selects würde es folgendermaßen aussehen

      select Name from Tabelle where KaufDatum > 1.1.2007 order by Autos desc.

      ...Ausgabe

      select Name from Tabelle where KaufDatum < 1.1.2007 order by Autos desc.

      ...Ausgabe

      Nur wie kann man das in einer Abfrage lösen?