Вам нужно вставить его в табличное выражение для фильтрации по ROW_NUMBER
. Вы не сможете использовать *
, так как он будет жаловаться на то, что имя столбца starRating
появляется более одного раза, поэтому вам нужно будет явно перечислить необходимые столбцы. В любом случае, это лучшая практика.
WITH CTE AS
(
SELECT /*TODO: List column names*/
ROW_NUMBER()
OVER (ORDER BY villa_prices.price,
villa_data.bedrooms,
villa_data.capacity) AS RN
FROM villa_data
INNER JOIN villa_prices
ON villa_prices.starRating = villa_data.starRating
WHERE villa_data.capacity >= 3
AND villa_data.bedrooms >= 1
AND villa_prices.period = 'lowSeason'
)
SELECT /*TODO: List column names*/
FROM CTE
WHERE RN BETWEEN 5 AND 10
ORDER BY RN