Ich bin SELECT
eine Gruppe von Datensätzen, aber eine Spalte ergibt unterschiedliche Werte in zwei oder mehr Ergebnissen. Ich möchte nur den oberen Wert SELECT
; nicht die Min
eins oder die Max
Wert, aber die Top N
Wert von SQL Server 2008. Gibt es Aggregation Mechanismus, der dies ausführen wird?Wie wählen Sie den obersten Datensatz aus einer Gruppe von Zeilen aus einer Tabelle in einer Datenbank aus?
z.
Tabelle hat:
Microsoft MSFT 12/21/05
ich ausführen:
Microsoft MSFT 10/22/05
Microsoft MSFT 11/23/06
Paramount PMNT 02/21/05
Paramount PMNT 01/23/06
SELECT [Name], [Symbol], PriceDate
VON aaa
GROUP BY [Name], [Symbol]
Das gewünschte Ergebnis ist:
Microsoft MSFT 12/21/05
Paramount PMNT 02/21/05
(TOP
versagt)
"TOP" ist bedeutungslos ohne ORDER BY. – RBarryYoung
SQL Server speichert keine Zeilen in einer bestimmten Reihenfolge (gut, Clustered Indizes tun!) Und sind vorbehaltlich Änderungen nach SQL Server Laune.Es scheint, dass Sie tatsächlich die Funktion Min (PriceDate) möchten, diese aber in der Frage explizit ablehnen. Sonst geben Sie sich bedeutungslose Ergebnisse. – Eric