У меня есть запрос, который работает, однако я хочу хранить только первые две строки в переменных. Это в цикле, так что где J исходит от, но это только соответствующая частьSQL, как получить только два верхних значения
SELECT MNO, COUNT(MNO) AS NUM_ALBUMS
FROM PERFORM
WHERE PERFORM.SNO IN (
SELECT DISTINCT S.ANO
FROM SONG S
WHERE S.SNO IN (
SELECT DISTINCT P.SNO
FROM PERFORM P
WHERE j IN P.MNO
GROUP BY P.SNO
)
)
AND PERFORM.MNO != 1
GROUP BY MNO
ORDER BY COUNT(MNO) DESC;
Это возвращает что-то похожее на этот
MNO NUM_ALBUMS
---------- ----------
2 3
3 3
4 2
Я хотел бы хранить два верхних MNOs вместе с два верхних числа относятся к переменным для возврата в оператор печати. Может ли кто-нибудь помочь? Я могу редактировать с дополнительной информацией, если это необходимо.
Итак, являются ли MNO 2 и 3 верхними двумя, или 2 и 3 верхнее число и 4 второе? Что делать, если у вас есть больше двух с одним и тем же счетом? – DCookie
2 и 3 являются двумя верхними, неважно, совпадают ли подсчеты. Я просто хочу сохранить две верхние строки из этого запроса в переменные. –
Какую версию Oracle вы используете? –