Ich möchte mit dieser Abfrage eindeutige Werte aus nur einer Spalte (der Spalte BoekingPlaatsId) auswählen:
SELECT MAX(BoekingPlaatsId), BewonerId, Naam, VoorNaam
FROM table
GROUP BY BewonerId, Naam, VoorNaam
Wie kann ich das in SQL Server tun?
Ich möchte mit dieser Abfrage eindeutige Werte aus nur einer Spalte (der Spalte BoekingPlaatsId) auswählen:
SELECT MAX(BoekingPlaatsId), BewonerId, Naam, VoorNaam
FROM table
GROUP BY BewonerId, Naam, VoorNaam
Wie kann ich das in SQL Server tun?
Ich denke, Sie sollten in der Lage sein, Folgendes zu verwenden
SELECT DISTINCT BewonerId, Naam, VoorNaam
Sie können nicht hinzufügen BoekingPlaatsId
, denn:
DISTINCT
sucht nach einzigartigen ZeilenBoekingPlaatsId
gewünschter WertWas auch funktioniert, ist dies:
SELECT MAX(BoekingPlaatsId), BewonerId, Naam, VoorNaam
FROM ...
GROUP BY BewonerId, Naam, VoorNaam
Ich tue nicht viel von diesem so bin ich nicht 100% sicher der Syntax, so dass Sie möglicherweise zu zwicken es leicht, Google Rang über und Partition. Versuchen Sie dies...
SELECT
*,
RANK() OVER(PARTITION BY Naam order by Naam ) as Rank
FROM
TABLE
WHERE
Rank = 1
Dies ist ein Overkill für eine 4-Spalten-Tabelle, aber wenn Sie eine ziemlich denormalisierte Tabelle mit vielen Spalten haben, ist dieser Ansatz von unschätzbarem Wert für select distinct auf 1 Spalte.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
8 Stimmen
"Ich möchte auswählen deutlich Werte [...]". Erstaunlich, wie nah man der Antwort sein kann, ohne sie zu kennen :)