|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.01.2016, 16:14 | #1 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
[sql]Distinct по одному полю из группы полей
Доброе время суток форумчане
Вот такая загвоздка, Есть например таблица Код:
Запрос: Код:
Можно наверное это решить с помощью подзапроса, distinct, group by? Спасибо Последний раз редактировалось KBO; 09.01.2016 в 16:17. |
09.01.2016, 16:23 | #2 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
Код:
|
09.01.2016, 16:49 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
distinct - уникальность по всем выбранным полям, а не по какому-то отдельному
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
09.01.2016, 18:25 | #4 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Спасибо получилось.
Еще один вопросик по производительности, если можно. Я тут этот запрос немного переделал, чтоб он вычитал единицу с поля "Count_Repeat" Код:
первый (свеху) select выполняется - "Execute time = 0ms", а весь запрос (update) выполняется - "Execute time = 3s 812ms" - обновить 2 записи это нормально? Последний раз редактировалось KBO; 09.01.2016 в 18:28. |
09.01.2016, 19:08 | #5 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
вы смеетесь? 4 сек на 2 записи, вечность
тут у вас вообще не понятно что за такое, зачем order by, зачем 2 селекта, и т.д. |
09.01.2016, 20:24 | #6 | |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Та я и сам вижу, какие-то странные интервалы
Цитата:
- выбрать те 2 записи, которые вы помогли мне выбрать - у каждой из этих выбранных записей, вычесть единицу с каждого значения в Count_Repeat дело в том, что я эту выборку вывожу в MSWord, и значения там, где Count_Repeat > 0, у меня должны попадать вконец сделанной выборки, а значит и в конец документа MSWord Последний раз редактировалось KBO; 09.01.2016 в 20:45. |
|
09.01.2016, 21:18 | #7 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
Во первых запрос на выборку не выбирае записи, и не выбирал никогда. Это только набор данных. А с учетом вашего вопроса совсем не понятно что надо.
Во вторых при чем тут запрос на обновление и какойто ворд? вощем ясности стало еще меньше |
09.01.2016, 22:41 | #8 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
У меня есть таблица MAIN_TABLE, с данными (как в сообщении #1), мне нужно получить данные, которые были получены с помощью запроса (сообщение #2).
В полученном наборе данных, значения в поле Count_Repeat (всех строк выборки), нужно уменьшить на единицу (записав это значение в поле Count_Repeat). Значения в полученной выборке, отсортировать по полю Count_Repeat. |
10.01.2016, 17:22 | #9 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
приношу извенения, в запросе обновлялись наверное не две записи, просто нужно было поставить дополнительное условие "REPEAT_ONE > 0"
Код:
Код:
|
10.01.2016, 18:12 | #10 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
зачем order by, зачем 2 селекта, и т.д.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Фильтрация по одному полю | Sh_ann | БД в Delphi | 3 | 25.04.2013 10:35 |
Получить числа, взятые по одному из каждой группы равных членов. | fits | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 13.12.2012 21:03 |
Заполнение полей подчиненной формы по полю с выпадающим списком в главной форме | Lum | Microsoft Office Access | 3 | 03.05.2012 23:17 |
Top 5 по одному полю, где несколько условий | d_adilet | Microsoft Office Access | 4 | 10.12.2011 09:45 |
Работает ли при "SQL dialect 3" оператор DISTINCT? | 3lander | БД в Delphi | 1 | 12.10.2007 00:21 |