Мне нужен результат для каждой комбинации (from_id, to_id), которая имеет значение minimun и цикл, соответствующий критериям.Запрос Sql для возврата одной отдельной записи для каждой комбинации в таблице
Так что в принципе мне нужен цикл с минимальным значением. например От A до B мне нужно значение minimun и loop_id.
Таблица содержит следующие поля:
value from_id to_id loop_id
-------------------------------------
2.3 A B 2
0.1 A C 2
2.1 A B 4
5.4 A C 4
Так результат будет:
value from_id to_id loop_id
-------------------------------------
2.1 A B 4
0.1 A C 2
Я попытался следующим:
SELECT t.value, t.from_id, t.to_id,t.loop_id
FROM myresults t
INNER JOIN (
SELECT min(m.value), m.from_id, m.to_id, m.loop_id
FROM myresults m where m.loop_id % 2 = 0
GROUP BY m.from_id, m.to_id, m.loop_id
) x
ON (x.from_id = t.from_id and x.to_id=t.to_id and x.loop_id=t.loop_id)
AND x.from_id = t.from_id and x.to_id=t.to_id and x.loop_id=t.loop_id
Но она возвращается все петли. Спасибо заранее!
Удалить loop_id из внутренней производной таблицы и, следовательно, также присоединиться к внешнему запросу. Затем он вернет минимальное значение для каждой комбинации, а во внешнем запросе вы можете найти соответствующий loop_id. – kaj
Привет, Кай, есть ли у вас пример этого запроса? Спасибо – baboso
@baboso как об этом вопросе. 'SELECT min (value) as value, from_id, to_id от myresults group BY from_id, to_id' –