tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
204
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    chuvak chuvak ist offline Mitglied Brokat
    Registriert seit
    Mar 2005
    Beiträge
    311
    Ich möchte jeweils den ersten und letzten Datensatz meiner Tabelle ausgeben. Dabei orientiere ich mich an deren ID:
    Code :
    1
    2
    
    SELECT zeit, min(id) AS kleinste_id FROM tab1 ORDER BY kleinste_id
    SELECT zeit, max(id) AS groesste_id FROM tab1 ORDER BY groesste_id
    Es wird mir auch die richtige ID ausgegeben, allerdings ist die dazugehörige Zeit nur vom ersten Datensatz.
    Was mache ich falsch?
     
    "Ein Pessimist ist ein Optimist mit Erfahrung."

  2. #2
    chuvak chuvak ist offline Mitglied Brokat
    Registriert seit
    Mar 2005
    Beiträge
    311
    Eine Unterabfrage hat gefehlt:
    Code :
    1
    
    WHERE id=(select min(id) from tab1)
     
    "Ein Pessimist ist ein Optimist mit Erfahrung."

  3. #3
    gorefest gorefest ist offline Mitglied Brokat
    Registriert seit
    Apr 2009
    Beiträge
    256
    Zitat Zitat von ewgeni Beitrag anzeigen
    Ich möchte jeweils den ersten und letzten Datensatz meiner Tabelle ausgeben. Dabei orientiere ich mich an deren ID:
    Code :
    1
    2
    
    SELECT zeit, min(id) AS kleinste_id FROM tab1 ORDER BY kleinste_id
    SELECT zeit, max(id) AS groesste_id FROM tab1 ORDER BY groesste_id
    Es wird mir auch die richtige ID ausgegeben, allerdings ist die dazugehörige Zeit nur vom ersten Datensatz.
    Was mache ich falsch?
    Das ist eine MySQL-Spezialität. Andere Datenbanken erwarten einen GROUP BY zeit, bei so einem Konstrukt.

    Ein

    Code sql:
    1
    2
    3
    
    SELECT zeit, id
        FROM tab1 
     WHERE id IN (SELECT MIN(ID) FROM tab1 UNION SELECT MAX(ID) FROM tab1)

    sollte Dir SQL-Konform und performant helfen. Btw, bei dem inneren MIN/MAX brauchts kein GROUP BY, da keine nicht-aggregierten Werte abgefragt werden.

    Güße
    Gore
     

Ähnliche Themen

  1. Den letzten Datensatz updaten?
    Von unrealzero_php im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 03.01.07, 23:20
  2. Antworten: 2
    Letzter Beitrag: 21.11.06, 11:47
  3. Antworten: 3
    Letzter Beitrag: 19.11.06, 15:12
  4. Letzten Datensatz auslesen
    Von Hektik im Forum PHP
    Antworten: 2
    Letzter Beitrag: 19.02.06, 23:19
  5. Antworten: 6
    Letzter Beitrag: 13.01.04, 11:48