Я делаю нумерацию своих данных, используя решение для этого вопроса.
Мне нужно использовать это решение для более сложного запроса сейчас.То есть.SELECT
внутри скобки имеет функции объединения и агрегирования.
Это решение, которое я использую в качестве справочного материала:
;WITH Results_CTE AS
(
SELECT
Col1, Col2, ...,
ROW_NUMBER() OVER (ORDER BY SortCol1, SortCol2, ...) AS RowNum
FROM Table
WHERE <whatever>
)
SELECT *
FROM Results_CTE
WHERE RowNum >= @Offset
AND RowNum < @Offset + @Limit
Запрос, который мне нужно включить в приведенный вышеРешение:
SELECT users.indicator, COUNT(*) as 'queries' FROM queries
INNER JOIN calls ON queries.call_id = calls.id
INNER JOIN users ON calls.user_id = users.id
WHERE queries.isresolved=0 AND users.indicator='ind1'
GROUP BY users.indicator ORDER BY queries DESC
Как этого добиться?До сих пор я заставлял это работать, удаляя часть ORDER BY queries DESC
и помещая ее в строку ROW_NUMBER() OVER (ORDER BY ...) AS RowNum
, но когда я делаю это, она не позволяет мне упорядочивать по этому столбцу («Неверное имя столбца« запросы »).").
Что мне нужно сделать, чтобы упорядочить его по этому столбцу?
edit : использование SQL Server 2008