Консультация № 50439
28.07.2006, 12:19
0.00 руб.
0 11 6
Доброе время суток! Вопрос новичка: возможно ли выбрать одним запросом из таблицы(MS SQL) все строки с повторяющимися значениями по неиндексированному текстовому полю?

Обсуждение

Неизвестный
28.07.2006, 12:30
общий
это ответ
Здравствуйте, GreenJeen!
Не могли Вы конкретнее описать проблему.
Неизвестный
28.07.2006, 12:34
общий
это ответ
Здравствуйте, GreenJeen!
Можно, например так:
select distinct fieldName from Table

Удачи!
Неизвестный
28.07.2006, 12:35
общий
Или Вы хотели, чтобы эти записи с повторяющимися значениями тоже выводились?т.е., напримераабвввзапрос select distinct fieldName from Table выведет толькоабв
Неизвестный
28.07.2006, 12:35
общий
это ответ
Здравствуйте, GreenJeen!
А почему нет

Select Count(Field),Field from Table
group by Field
order by 1

Только сверься по синтаксису для MS-SQL он своеобразный с отклонениями от стандарта
Неизвестный
28.07.2006, 12:37
общий
Да, весь смысл в том, чтобы учесть при отборе ВСЕ повторения
Неизвестный
28.07.2006, 12:39
общий
Может, Вы дадите пример таблицы и тех полей из этой таблицы, которые надо выводить.Или приведите пример Вашего запроса, который должен был выводить эти повторяющиеся записи.
Неизвестный
28.07.2006, 12:45
общий
например, в таблице 2 поля 1) IdNum Varchar2) Name нужно отобрать все повторения>1 по IdNum
Неизвестный
28.07.2006, 13:09
общий
Я сделал, например, такselect IdNum, Namefrom Table2 where IdNum in (select IdNum from Table2 group by IdNum having count(1)>1)table2IdNum nameusa nyusa cafr prger berusa ilв итоге получилосьusa nyusa causa il
Неизвестный
28.07.2006, 13:26
общий
это ответ
Здравствуйте, GreenJeen!
Используйте следующий запрос: <b>select * from table</b>
Неизвестный
28.07.2006, 13:46
общий
это ответ
Здравствуйте, GreenJeen!
Если нужен лишь список значений, которые повторяются, то вот запрос:
select txt from table1 group by txt having count(txt)>1
а если же нужны все записи, в которых значение поля txt встречается больше одного раза то так:
select * from table1 where txt in (select txt from table1 group by txt having count(txt)>1)
Неизвестный
29.07.2006, 23:01
общий
это ответ
Здравствуйте, GreenJeen!
А в таблице какой-нибудь первичный индекс есть ?
тогда этот запрос выводит список повторяющихся значение поля field_name

select count (id) as count1, file_name from table
group by filename
having count(id) >1

ну а если ключа нет, можно попробовать так..

select count (*) as count1, file_name from table
group by filename
having count(i*) >1

Форма ответа