Я анализирую некоторый код, который использует пустые предложения OVER в конкурсе Count ().
Пример:
SELECT
ROW_NUMBER() OVER (ORDER BY Priority DESC) AS RowID,
CAST((COUNT(*) OVER() / @pagesize) AS Int) AS TotalPages,
Я пытаюсь понять, почему пустое предложение OVERиспользуется здесь.
Есть другие стандартные элементы выбора ниже этих двух строк, которые я перечислил выше, и когда я удаляю пустое предложение OVER из второй строки 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.
Как только я вернул OVER (), ошибка исчезла.
Мое понимание предложения OVER очень ограничено ... Мне кажется, что я понимаю, что происходит в RowIDлиния ... но линия TotalPages просто сбивает меня с толку.