Я хочу выбрать отличные значения только из одного столбца (столбец BoekingPlaatsId) с этим запросом:
SELECT MAX(BoekingPlaatsId), BewonerId, Naam, VoorNaam
FROM table
GROUP BY BewonerId, Naam, VoorNaam
Как я делаю это в SQL Server?
Я думаю, вы сможете использовать
SELECT DISTINCT BewonerId, Naam, VoorNaam
Вы можете ' t add BoekingPlaatsId
, потому что:
DISTINCT
ищет уникальные строки BoekingPlaatsId
значение вы хотите What also works is this:
SELECT MAX(BoekingPlaatsId), BewonerId, Naam, VoorNaam
FROM ...
GROUP BY BewonerId, Naam, VoorNaam
DISTINCT
should work if you just want the user names:
SELECT DISTINCT BewonerId, Naam, Voornaam
FROM TBL
but if you need the minimum ID values, group by the names...
SELECT MIN(BoekingPlaatsId), MIN(BewonerId), Naam, Voornaam
FROM TBL
GROUP BY Naam, Voornaam
Я не делаю этого много, поэтому я не уверен на 100% в синтаксисе, поэтому вам, возможно, придется немного подправить его, повысить рейтинг Google и разделить его. Попробуйте это ...
SELECT
*,
RANK() OVER(PARTITION BY Naam order by Naam ) as Rank
FROM
TABLE
WHERE
Rank = 1
Это излишек для таблицы из 4 столбцов, но если у вас достаточно денормализованная таблица с большим количеством столбцов, этот подход неоценим для выбора отдельных столбцов в 1 столбце.
Я думаю, что вы ищете что-то вроде этого:
select distinct column1 from table1 where column2 = (select distinct column2 from table1)
select Naam, Voornaam, min(BewonerId), min(BoekingPlaatsId) from tableName
group by Naam, Voornaam
just group By those 2 columns
Select Min(BoekingPlaatsId), Min(bewonerId), naam, voornaam
from table
group By naam, voornaam
Sounds like you want something like
select distinct(BewonerId), Naam, Voornaam from table_name