Как найти более высокий повторяющийся идентификатор в SQL Server?

#sql #sql-server

#sql #sql-server

Вопрос:

Мне нужна помощь в конкретном сценарии, с которым я столкнулся.

У меня есть структура таблицы, подобная этой.

введите описание изображения здесь

В этой таблице (назовем ее пользовательской таблицей) идентификатор является первичным ключом. Я хочу найти более высокое значение идентификатора, если данные дублируются в столбце username.

Для примера John указан 4 раза, а самый высокий идентификатор этих данных равен 10. Поэтому мне это нужно в моем результате.

Я могу найти дубликат, но с максимальным идентификатором у меня возникли некоторые проблемы.

Комментарии:

1. «но с максимальным идентификатором у меня возникла какая-то проблема» Вы рассматривали возможность использования MAX ?

2. Рассматривали ли вы GROUP BY и MAX() .

3. Пожалуйста, поделитесь своим текущим кодом и расскажите нам больше о том, что с ним не так («У меня возникла какая-то проблема»)

Ответ №1:

Использование функции MAX:

Перечисляет как дублирующиеся, так и не дублирующиеся строки

  Select Max(ID), username from table group by username
 

Если вам нужно только дублировать, только тогда

  Select Max(ID), username from table group by username
 Having min(ID)<>Max(id)
 

Комментарии:

1. Спасибо, я думаю, это поможет. Я все усложнял