У меня есть эта таблица:
id | owner | asset | rate
-------------------------
1 | 1 | 3 | 1
2 | 1 | 4 | 2
3 | 2 | 3 | 3
4 | 2 | 5 | 4
И я использую
SELECT asset, max(rate)
FROM test
WHERE owner IN (1, 2)
GROUP BY asset
HAVING count(asset) > 1
ORDER BY max(rate) DESC
, чтобы получить пересечение активов для указанных владельцев с лучшим коэффициентом.
Iтакже нужен идентификатор строки, используемой для max (rate), но я не могу найти способ включить его в SELECT.Есть идеи?
Редактировать:
Мне нужно
- Найти все активы, принадлежащие обоим владельцам (1 и 2)
- Из того же актива мне нужен только один с лучшей ставкой (3)
- Мне также нужны другие столбцы (владелец), которые принадлежат конкретному активу с лучшей ставкой
Я ожидаю следующий вывод:
id | asset | rate
-------------------------
3 | 3 | 3
Упс, все 3 с, но в основном мне нужен идентификатор 3-й строки для повторного запроса к той же таблице, поэтому результирующий вывод (после второго запроса) будет:
id | owner | asset | rate
-------------------------
3 | 2 | 3 | 3
Допустим, это Postgres, но я бы предпочел разумно кросс-СУБД.
Редактировать 2:
Ребята, я знаю, как это сделатьс участием.Извините за вводящий в заблуждение вопрос, но мне нужно знать, как получить дополнительный из существующего запроса.У меня уже есть необходимые активы и выбранные ставки, мне просто нужно одно дополнительное поле среди с max (rate) и заданными условиями, если это возможно.