Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос - Исключение из выборки дублей / 8 сообщений из 8, страница 1 из 1
09.06.2018, 10:05
    #39658731
vdpmr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос - Исключение из выборки дублей
Здравствуйте. Помогите пожалуйста с запросом.

Есть таблица такого вида:

fam im ot num
Иванов Иван Иванович 1
Петров Петр Петрович 5
Алексеев Алексей Алексеевич 4
Иванов Иван Иванович 2
Петров Петр Петрович 3

нужно выбрать записи, исключая дубли по ФИО, оставляя запись с минимальным num

то есть в результате должны выбраться только эти записи:

Иванов Иван Иванович 1
Алексеев Алексей Алексеевич 4
Петров Петр Петрович 3

понимаю, что запрос скорее всего простой, но тем не менее не получается написать
буду очень признателен за помощь
...
Рейтинг: 0 / 0
09.06.2018, 10:08
    #39658733
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос - Исключение из выборки дублей
vdpmr,

Код: sql
1.
2.
3.
select top 1 with ties *
  from your_table
 order by row_number()over(partition by fam,im,ot order by num)




а шо если ФИО одинаковое, а люди разные?
...
Рейтинг: 0 / 0
09.06.2018, 10:19
    #39658739
vdpmr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос - Исключение из выборки дублей
Посетитель, на самом деле в таблице у каждого человека еще есть его уникальный ID.
Не стал его добавлять для упрощения задания.
Мне просто смысл нужно было понять.
Спасибо за ответ. Сейчас буду пробовать.
...
Рейтинг: 0 / 0
09.06.2018, 10:53
    #39658757
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос - Исключение из выборки дублей
vdpmr,

по ID как раз и проще, и правильнее
...
Рейтинг: 0 / 0
09.06.2018, 13:59
    #39658875
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос - Исключение из выборки дублей
Посетительvdpmr,

Код: sql
1.
2.
3.
select top 1 with ties *
  from your_table
 order by row_number()over(partition by fam,im,ot order by num)




а шо если ФИО одинаковое, а люди разные?

Садись, неуд

Код: sql
1.
2.
3.
select fam,im,ot, num = min(num)
  from your_table
 group by fam,im,ot
...
Рейтинг: 0 / 0
09.06.2018, 14:28
    #39658903
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос - Исключение из выборки дублей
aleks222,

ну дык, надо ж было дать тебе повод почесать ЧСВ
...
Рейтинг: 0 / 0
09.06.2018, 15:20
    #39658947
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос - Исключение из выборки дублей
Посетительaleks222,

ну дык, надо ж было дать тебе повод почесать ЧСВ
Ты самый медленный вариант выборки дал, как тут не почесать...
...
Рейтинг: 0 / 0
09.06.2018, 15:31
    #39658951
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос - Исключение из выборки дублей
Руслан ДамировичТы самый медленный вариант выборки дал,как тут не почесать...
Extremis malis extrema remedia
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос - Исключение из выборки дублей / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]