powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с выборкой уникальных значений
25 сообщений из 61, страница 1 из 3
Проблема с выборкой уникальных значений
    #38235320
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT DISTINCT f.name as f_name, 
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
p.name as p_name 
FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.include='1' ORDER BY f.name ASC



Получаю результаты:


как видно из скриншота есть несколько неуникальных, одинаковых значений.
Подскажите почему они отображаются результатах, тогда как есть SELECT DISTINCT f.name as f_name и как сделать, чтобы выводились только уникальные значения f_name ?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235330
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя уникальная вся строка.
А ты хочешь уникальность по одному полю.
Придется использовать ранкинг или группировки.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235332
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на скриншоте не видно последней колонки результата
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235339
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
WHERE p.include='1'

делает бессмысленным LEFT JOIN
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235346
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7,

Если выбрать имя только по одному разу,
то какими должны быть значения в остальных полях для каждого имени?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235395
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap,

в принципе уникальность всей строки не нужна, т.е. должно быть уникально имя (f_name), а уникальность по остальным значениям не требуется.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235399
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так и шо там у нас с последнею колонкою?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235421
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7iap,

в принципе уникальность всей строки не нужна, т.е. должно быть уникально имя (f_name), а уникальность по остальным значениям не требуется.Так что с остальными-то делать?
Может, требуется просто выбрать строки, в которых такое имя, которого нет в других строках,
а строки с именами, которые повторяются в других строках, просто игнорировыать?
Как Вас понимать-то вообще?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235451
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap,

сорри, задача в том, чтобы выбрать строки с уникальными f_name, а остальные значения строки просто выбрать и все(без уникальности значений), т.е получается чтот-то вроде:

Код: sql
1.
2.
3.
4.
5.
SELECT DISTINCT f.name as f_name
*
FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.include='1' ORDER BY f.name ASC



только нужно еще добавить выборку неуникальных полей:

Код: sql
1.
2.
3.
4.
5.
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
p.name as p_name 
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235463
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235466
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7, в вашем примере какая из строк 6-11 должна остаться и почему? p_name ведь в них будут разные, как можно предположить
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235471
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7i
выбрать строки с уникальными f_name

только нужно еще добавить выборку неуникальных полей:




ERROR: Division by zero encountered
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235486
Мистер Хенки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7iap,

сорри, задача в том, чтобы выбрать строки с уникальными f_name, а остальные значения строки просто выбрать и все(без уникальности значений), т.е получается чтот-то вроде:



только нужно еще добавить выборку неуникальных полей:


Может надо выбрать уникальные f_name, а остальные значения если они не уникальны через запятую перечислить ?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235557
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перефразирую вопрос:
нужно сделать выборку всех полей таблицы из базы данных с уникальностью по полю f.name.
Как это сделать из запроса:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT DISTINCT f.name as f_name, 
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
p.name as p_name 
FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.include='1' ORDER BY f.name ASC
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235559
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторSELECT f.name as f_name,
max(f.address) as f_address,
max(f.business) as f_business,
max(f.web) as f_web,
max(f.phone) as f_phone,
max(p.name) as p_name
FROM Firm f
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm
WHERE p.include='1'
GROUP BY f.name
ORDER BY f.name ASC
тебе подойдет
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235569
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7Перефразирую вопрос:
нужно сделать выборку всех полей таблицы из базы данных с уникальностью по полю f.name.Так вас спрашивают, что это такое, как хоть это выглядит?

Как вы понимаете, например, фразу: "сделать выборку имён и фамилий с уникальностью по именам"?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235638
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мистер ХенкиAmateur7iap,

сорри, задача в том, чтобы выбрать строки с уникальными f_name, а остальные значения строки просто выбрать и все(без уникальности значений), т.е получается чтот-то вроде:



только нужно еще добавить выборку неуникальных полей:


Может надо выбрать уникальные f_name, а остальные значения если они не уникальны через запятую перечислить ?Дык, молчит под пытками!!

Кстати, и на замечание про WHERE никак не реагирует
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235854
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, чтобы выбрать уникальные значения f_name есть запрос:
Код: sql
1.
2.
3.
4.
SELECT DISTINCT f.name as f_name
FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.include='1' ORDER BY f.name ASC



на оператор left join и where внимания не обращайте вовсе - это вообще ни к чему.

к первоначальному запросу нужно добавить выборку полей(уникальности от них не требуется, просто перечислить при выборке):

Код: sql
1.
2.
3.
4.
5.
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
p.name as p_name



вроде как все доступно пояснил, теперь уже точно...
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235919
Фотография Knyazev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT top 1 with ties f.name as f_name,
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
p.name as p_name
FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.include='1' 
ORDER BY row_number() over ( partition by f.name order by f.name )
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235975
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7вроде как все доступно пояснил, теперь уже точно...
Это задача называется так
для каждой записи одной таблицы выбрать одну запись другой таблицы - здесь идет описание критериев, которым должна соответствовать эта одна запись
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236099
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7уникальности от них не требуется, просто перечислить при выборке Рекомендации, пункты 6 и 4
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236313
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7к первоначальному запросу нужно добавить выборку полей(уникальности от них не требуется, просто перечислить при выборке):

вроде как все доступно пояснил, теперь уже точно...Теперь вы повторили то, что писали раньше.

Ответьте лучше на вопрос:
alexeyvgКак вы понимаете, например, фразу: "сделать выборку имён и фамилий с уникальностью по именам"?

Или сразу:
Паганель Рекомендации, пункты 6 и 4
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236325
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7чтобы выбрать уникальные значения f_name есть запрос:
...
к первоначальному запросу нужно добавить выборку полей(уникальности от них не требуется, просто перечислить при выборке):
...
вроде как все доступно пояснил, теперь уже точно...
Мда... давайте лучше разовьём вопрос alexeyvg, заданный несколькими постами ранее:
alexeyvgКак вы понимаете, например, фразу: "сделать выборку имён и фамилий с уникальностью по именам"?
Предположим, у нас есть таблица people с именами (name) и фамилиями (surname). И в этой таблице есть такие записи:
Код: sql
1.
2.
3.
4.
5.
6.
7.
name surname
---- -------
Иван Иванов
Иван Петров
Иван Сидоров
Пётр Иванов
Пётр Михайлов


При помощи запроса "SELECT DISTINCT name FROM people" вы выбрали уникальные значения name:
Код: sql
1.
2.
3.
4.
name
----
Иван
Пётр


Какой результат, в вашем представлении, должен получиться, если "к первоначальному запросу добавить выборку полей surname (уникальности от них не требуется, просто перечислить при выборке)"?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236372
ambarka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость333Какой результат, ..?
Зря фамилии по алфавиту отсортировали, это затруднит рождение истины.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236389
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ambarka_maxГость333Какой результат, ..?
Зря фамилии по алфавиту отсортировали, это затруднит рождение истины.Что-то уже и воды отошли,
а всё никак не родится! :((
...
Рейтинг: 0 / 0
25 сообщений из 61, страница 1 из 3
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с выборкой уникальных значений
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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