SQL: So wählen Sie die früheste Zeile aus

Ich habe einen Bericht, der wie folgt aussieht:

CompanyA      Workflow27     June5
CompanyA      Workflow27     June8
CompanyA      Workflow27     June12
CompanyB      Workflow13     Apr4
CompanyB      Workflow13     Apr9
CompanyB      Workflow20     Dec11
CompanyB      Wofkflow20     Dec17

Dies geschieht mit SQL (insbesondere T-SQL-Server version 2005):

SELECT company
   , workflow
   , date
FROM workflowTable

Möchte ich den Bericht zeigen nur die frühesten Termine für die einzelnen workflow:

CompanyA      Workflow27     June5
CompanyB      Workflow13     Apr4
CompanyB      Workflow20     Dec11

Irgendwelche Ideen? Ich kann nicht dieses heraus. Ich habe versucht, Sie mithilfe einer geschachtelten select, gibt den frühesten Fach Datum, und dann die Einstellung, dass in der WHERE-Klausel. Dies funktioniert gut, wenn es nur eine Firma:

SELECT company
   , workflow
   , date
FROM workflowTable
WHERE date = (SELECT TOP 1 date
              FROM workflowTable
              ORDER BY date)

aber dies wird offensichtlich nicht funktionieren, wenn es mehr als eine Firma in die Tabelle. Jede Hilfe ist willkommen!

InformationsquelleAutor der Frage dvanaria | 2011-04-20

Schreibe einen Kommentar