Ich möchte distinct & amp; oben in der gleichen Zeit, tat ich
SELECT distinct TOP 10 * FROM TableA
aber ich habe immer noch eine doppelte PersonId, also musste ich tun:
SELECT distinct (personID) TOP 10 * FROM TableA
aber die Syntax ist falsch, also frage ich mich, ob es eine Lösung gibt
Danke,
Sie verwenden eine SELECT *
, die alle Datensätze zieht. Wenn Sie eine echte DISTINCT verwenden möchten, geben Sie nur die Spalte an, für die Sie unterschiedliche Werte erhalten möchten. Wenn Sie mehrere Spalten haben, bilden alle diese Spalten einen eindeutigen Datensatz.
Beachten Sie, dass ohne ORDER BY
die ersten 10 Datensätze in keiner bestimmten Reihenfolge zurückgegeben werden. Die Ergebnisse können bei jeder Abfrage anders sein.
Sie scheinen 10 zufällige Datensätze für verschiedene Personen zu haben. Versuchen Sie Folgendes:
%Vor% Im Allgemeinen sollten Sie bei Verwendung von top
jedoch auch order by
verwenden, um anzugeben, was Sie mit "top" meinen.
Es funktioniert einfach, wenn Sie eine Abfrage wie folgt verwenden:
%Vor% In der obigen Abfrage ist name
der Spaltenname und [ATTENDANCE]
ist der Tabellenname.
Sie können auch WHERE
verwenden, um Filterbedingungen zu erstellen.
Tags und Links sql sql-server tsql