Я анализирую некоторый код, который использует пустой ПО пунктам в конкурсе количества ().
Пример:
SELECT
ROW_NUMBER() OVER (ORDER BY Priority DESC) AS RowID,
CAST((COUNT(*) OVER() / @pagesize) AS Int) AS TotalPages,
Я пытаюсь понять, почему пустое ПО пункту используется здесь.
Существуют другие стандартные избранные элементы ниже тех двух строк, которые я упомянул выше, и когда я удаляю пустое ПО пункту от второго строка TotalPages, я получаю ошибки как это:
Column 'TableA.Priority' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Как только я поместил ПО () назад, ошибки не стало.
Мое понимание ПО пункту очень ограничено... Я чувствую, что понимаю то, что продолжается в строке RowID..., но строка TotalPages просто экранирует меня.