Reihenfolge ORDER und GROUP BY

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

  • Reihenfolge ORDER und GROUP BY

    Hallo zusammen,

    habe eine Tabelle in der stehen u.A. Titel (varchar) und id_gruppen (int). Jetzt möchte ich für jede Gruppe einen Eintrag anzeigen und zwar immer den, der im Alphabet ganz vorne steht, also z.B. bei

    Test 1
    ZTest 1
    ATest 1
    Test 2
    ATest 2
    ZTest 2

    Möchte ich ATest 1 und ATest 2 erhalten. Dafür habe ich folgendes Statement:

    PHP-Code:
    SELECT FROM 4101_Bilder GROUP BY  
    4101_Bilder
    .id_gruppen ORDER BY Titel LIMIT 0,
    Nur leider gruppiert er zuerst und sortiert dann nach Alphabet... wie kann ich das umdrehen?

    VIELEN DANK!!

    strauberry

  • #2
    Geht nur mit einem Subquery ( oder CROSS JOIN u. HAVING, wobei ein Subquery wohl schneller sein dürfte )

    PHP-Code:
    SELECT FROM (
        
    SELECT FROM 4101_Bilder 
        ORDER BY Titel
    d
    GROUP BY id_gruppen
    LIMIT 3

    Edit: Wenn du viele Datensätze hast, aber nur wenige Ergebnisse willst (LIMIT 3) dürfte diese Variante hier schneller sein:
    PHP-Code:
    SELECT FROM 4101_Bilder
    WHERE Titel IN 
    (
        
    SELECT MINTitel )
        
    FROM 4101_Bilder
        GROUP BY id_gruppen
        LIMIT 3
    ); 
    Zuletzt geändert von phoboslab; 25.04.2006, 13:34.

    Kommentar

    Lädt...
    X