С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
MySQL
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
HelenOk
0 / 0 / 0
Регистрация: 14.04.2016
Сообщений: 3
1

Выбрать уникальные значения с максимальным значением поля

14.04.2016, 11:06. Просмотров 532. Ответов 5
Метки нет (Все метки)

Ситуация следующая, sql запрос используется для формирования отчета, в который необходимо выбрать объекты, у которых в базе последняя операция попадает под условие с максимальным значением поля. Я могла бы использовать таким образом запрос,
SQL
1
2
3
4
SELECT NV, DATOP, KOP, MAX(VG_ID)
 FROM USERIBD.OP_VGO
 WHERE PR_LAST_OP='1' AND  NODDISLV='00' AND datop>'2015-09-03 17:01:00.000000'
 GROUP BY NV, DATOP, KOP, VG_ID
однако для формирования того самого отчета используется Business Objects, который не допускает внесение значений в функцию select, таких как MAX, MIN и т.д. Поэтому необходимо каким-то образом задать это условии where.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2016, 11:06
Ответы с готовыми решениями:

Получить уникальные значения поля и количество записей с этим же значением
Здравствуйте, есть таблица с данными следующего вида: |id | type | ..... |1...

Выборка с максимальным значением поля по группировке
Есть таблица: id Group Value Date 1 1 1 7 2 1 2 ...

Выбрать уникальные поля по условию
есть таблица, логирует работу пользователей id user_id datetime 1 ...

Уникальные поля
в таблице недожно быть записей с одними и темире именем и фамилией. Если...

Уникальные поля
Вообщем, у меня есть андроид приложение которое отправляет данные на сервер...

5
Elbeet
31 / 22 / 8
Регистрация: 02.03.2016
Сообщений: 63
14.04.2016, 11:33 2
У Вас Business Objects выдаёт ошибку и не пропускает запрос к СУБД? Может ему нужны имена возвращаемых полей? Например MAX(VG_ID) as MAX_VG_ID.
Или Вы получаете не правильные данные из-за ошибки в SQL: в GROUP BY указано лишнее поле VG_ID?
0
HelenOk
0 / 0 / 0
Регистрация: 14.04.2016
Сообщений: 3
14.04.2016, 11:35  [ТС] 3
нет, по указанному мной запросу все верно выдает, однако мне нужно MAX(VG_ID) обыграть именно в where
0
Elbeet
31 / 22 / 8
Регистрация: 02.03.2016
Сообщений: 63
14.04.2016, 11:44 4
Тогда просто уберите MAX(), оставьте только VG_ID.
Для Вашей группировки функция MAX всё равно не работает.

Добавлено через 1 минуту
Можете попробовать вложенный select:

SELECT a.NV, a.DATOP, a.KOP, a.MAX_VG_ID from (SELECT NV, DATOP, KOP, MAX(VG_ID) as MAX_VG_ID
FROM USERIBD.OP_VGO
WHERE PR_LAST_OP='1' AND NODDISLV='00' AND datop>'2015-09-03 17:01:00.000000'
GROUP BY NV, DATOP, KOP, VG_ID) a

Добавлено через 3 минуты
SELECT b.NV, b.DATOP, b.KOP, b.VG_ID
FROM USERIBD.OP_VGO b
WHERE b.PR_LAST_OP='1' AND b.NODDISLV='00' AND b.datop>'2015-09-03 17:01:00.000000'
and b.VG_ID = (select c.VG_ID from USERIBD.OP_VGO c where b.NV-c.NV and b.DATOP = c.DATOP and b.KOP = c.KOP order by c.VG_ID desc limit 1)
1
HelenOk
0 / 0 / 0
Регистрация: 14.04.2016
Сообщений: 3
14.04.2016, 11:45  [ТС] 5
однако вопрос по выборке всех строк с условием, что для них(строк) VG_ID - максимальный, не решен
0
Elbeet
31 / 22 / 8
Регистрация: 02.03.2016
Сообщений: 63
14.04.2016, 11:51 6
И всё таки что-то Вы не договариваете.
1. Не может Ваш запрос работать корректно при указанной группировке.
2. Не верю, что Business Objects не допускает групповых функций в sql-запросе.
0
14.04.2016, 11:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2016, 11:51

Извлечение записи с максимальным значением
У меня похожий вопросец, как был до этого с дублирующими записями, но только...

Уникальные значения столбцов
Доброго времени суток! Необходимо проверить на уникальность столбцы. С MySql...

Создал поле ID - нужно проставить уникальные значения одним запросом
Такая ситуация, если таблица без поля авто-инкримент (откуда-то, как-то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru