Используйте 'COUNT (*) OVER () AS' в postgres при выборе элементов из таблицы - PullRequest
0 голосов
/ 06 апреля 2020

Я делаю выбор на столе, но мне также нужно количество предметов. Очевидно, я должен использовать оконные функции, но не могу заставить его работать.

Я делаю простой запрос на выборку и хочу подсчитать, сколько там записей, что-то вроде:

SELECT * FROM "myTable"
COUNT(*) OVER() AS total
WHERE name='John Doe';

Это не работает, и я получаю следующую ошибку: ERROR: ERROR: syntax error at or near "COUNT" LINE 2: COUNT(*) OVER(name) AS _total Как использовать функции окна для подсчета моих записей в таблице при выполнении запроса? Я здесь далеко от базы?

1 Ответ

1 голос
/ 06 апреля 2020

COUNT(*) - это столбец в SELECT:

SELECT t.*, COUNT(*) OVER() AS total
FROM "myTable" t
WHERE name = 'John Doe';

Предложение FROM следует за предложением SELECT и завершает определения столбцов в наборе результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...