Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.09.2006, 15:13
|
|||
|---|---|---|---|
|
|||
уникальность в select'e |
|||
|
#18+
sybase ase 12.5 простейший пример есть таблица example с полем id- поле неуникальное нужно сделать из таблицы селект, чтобы каждое значение id в выборке присутствовало только один раз, т.е. выборка была бы уникальной какое из неуникальных значений попадёт в выборку неважно группировка и введение уникальности для решения задачи не подходят как должен выглядеть такой запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2006, 15:47
|
|||
|---|---|---|---|
уникальность в select'e |
|||
|
#18+
1. distinct 2. По набору даннчх пробежаться сортированным курсором и выкидывать дубликаты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2006, 16:30
|
|||
|---|---|---|---|
|
|||
уникальность в select'e |
|||
|
#18+
Maktub1. distinct 2. По набору даннчх пробежаться сортированным курсором и выкидывать дубликаты Хмм... дистинкт применяется ко всей записи, а можно ли его применить к конкретному полю записи? Как не стараюсь у меня это не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2006, 17:26
|
|||
|---|---|---|---|
уникальность в select'e |
|||
|
#18+
having count(FIELD) = 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2006, 17:49
|
|||
|---|---|---|---|
уникальность в select'e |
|||
|
#18+
Соврал. Если на таблице есть PK (pk) select * from example ex where ex.pk = (select min(pk) from example i where i.id = ex.id) group by ex.id, ex.pk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2006, 20:20
|
|||
|---|---|---|---|
уникальность в select'e |
|||
|
#18+
Я бы создал таблицу с кластерным индексом на это поле и с параметром IGNORE_DUP_KEY и вставил бы туда все данные. Дублирующие записи удалятся при этом автоматом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2006, 06:01
|
|||
|---|---|---|---|
|
|||
уникальность в select'e |
|||
|
#18+
Хотелось бы сделать выборку только с помощью SQL-запроса, не создавая никаких лишних таблиц. он жеselect * from example ex where ex.pk = (select min(pk) from example i where i.id = ex.id) group by ex.id, ex.pk Этот вариант отлично подходит. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2006, 10:24
|
|||
|---|---|---|---|
уникальность в select'e |
|||
|
#18+
Этот вариант очень опасный. потому что запрос может работать очень долго и занимать очень большие ресурсы. Но все естественно зависит от таблиц. Поэтому протестируйте все очень внимательно перед тем как отправлять в продакшн. посмотрите планы, стоимости . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2006, 10:33
|
|||
|---|---|---|---|
уникальность в select'e |
|||
|
#18+
rec15Хотелось бы сделать выборку только с помощью SQL-запроса, не создавая никаких лишних таблиц. он жеselect * from example ex where ex.pk = (select min(pk) from example i where i.id = ex.id) group by ex.id, ex.pk Этот вариант отлично подходит. Спасибо! ;)) зачё-ё-ё-т автор топика передумал и разрешил группировки ;) ибо в первом авторском посте читаем следующее: " группировка и введение уникальности для решения задачи не подходят ". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2006, 12:34
|
|||
|---|---|---|---|
|
|||
уникальность в select'e |
|||
|
#18+
komrad rec15Хотелось бы сделать выборку только с помощью SQL-запроса, не создавая никаких лишних таблиц. он жеselect * from example ex where ex.pk = (select min(pk) from example i where i.id = ex.id) group by ex.id, ex.pk Этот вариант отлично подходит. Спасибо! ;)) зачё-ё-ё-т автор топика передумал и разрешил группировки ;) ибо в первом авторском посте читаем следующее: " группировка и введение уникальности для решения задачи не подходят ". Вобще-то этот запрос прекрасно работает в таком виде select * from example ex where ex.pk = (select min(pk) from example i where i.id = ex.id) без всяких группировок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2006, 13:38
|
|||
|---|---|---|---|
|
|||
уникальность в select'e |
|||
|
#18+
не совсем понял, зачем там вообще группировки были поставлены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2006, 15:51
|
|||
|---|---|---|---|
уникальность в select'e |
|||
|
#18+
_nicht_schissen_не совсем понял, зачем там вообще группировки были поставлены? От балды :) Я ж запрос не выполнял :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2006, 16:51
|
|||
|---|---|---|---|
|
|||
уникальность в select'e |
|||
|
#18+
Приведенное выше решение не соответствует поставленной задаче, в которой ничего не говорится про наличие уникального поля. :) Интересно было бы посмотреть на такой запрос! С ходу не придумал как это сделать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2006, 20:10
|
|||
|---|---|---|---|
уникальность в select'e |
|||
|
#18+
_nicht_schissen_Приведенное выше решение не соответствует поставленной задаче, в которой ничего не говорится про наличие уникального поля. :) Интересно было бы посмотреть на такой запрос! С ходу не придумал как это сделать... Не в каждом вопросе есть полная информация. Иногда можно чуть-чуть додумать. Хорошо, когда ожидания оправдываются. Если в такой таблице нет PK - без псевдоPK типа rowid (который в Oracle) и невозможности построить запрос вида Код: plaintext 1. Oracle, блин, решает :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=Guer&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 679ms |
| total: | 878ms |

| 0 / 0 |
