Выбор всех полей со значениями, превышающими текущее значение поля
У меня есть таблица, которая выглядит следующим образом.
| путь_идентификатор | шаг | point_id | delay_time | время ожидания | доступ |
| 202 | 1 | 111 | 0 | 0 | 7 |
Который перечисляет point_id в порядке шагов. Например: 111 - шаг 1, 181 - шаг 2 и т. Д.
Мне нужно написать запрос, который будет принимать point_id, выбрать ВСЕ значения, которые имеют более высокий шаг среди ВСЕГО path_id, которые имеют данное значение, и вернуть сгруппированный набор point_id.
Я сейчас использую этот запрос
SELECT DISTINCT `pdb`.`point_id` AS `id`
FROM `path_detail` AS `pda` INNER JOIN
`path_detail` AS `pdb` ON pda.path_id = pdb.path_id
AND pda.step < pdb.step
WHERE
(pda.point_id = 111)
GROUP BY `pdb`.`path_id`
Который, кажется, не работает слишком надежно.
Какие-либо предложения?
1 ответ
Решение
Пытаться:
SELECT Distinct `pdb`.`point_id` AS `id`
FROM `path_detail` AS `pda`, `path_detail` AS `pdb`
WHERE
pda.point_id = 111
AND pda.path_id = pdb.path_id
AND pda.step < pdb.step
Order by `pdb`.`point_id` ASC