Sql - запрос, чтобы получить общее количество записей в таблице - PullRequest
0 голосов
/ 11 марта 2019

У меня есть такая таблица введите описание изображения здесь

Мне нужно получить только данные, чей возраст > 10, а также мне нужно получитьОбщее количество записей, представленных в таблице.то есть.в этом примере это 4 записи .что мне нужно в одном запросе, мне нужно получить общее количество записей в таблице и столбцах, к которым я обращаюсь.

Запрос будет выглядеть примерно так:

SELECT ID, NAME, count(TOTAL NUMBER OF RECORDS IN TABLE) as Count from MYTABLE WHERE AGE > 10 

Есть идеи по этому поводу?

Ответы [ 2 ]

1 голос
/ 11 марта 2019

Вы можете использовать подзапрос в предложении FROM:

SELECT ID, NAME, c.cnt as Count 
FROM MYTABLE CROSS JOIN
     (SELECT COUNT(*) as cnt FROM MYTABLE) c
WHERE AGE > 10 ;

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

SELECT ID, NAME, COUNT(*) OVER () as cnt
FROM MYTABLE 
WHERE AGE > 10 ;
0 голосов
/ 11 марта 2019

Вы можете попробовать ниже - используя скалярный подзапрос

SELECT ID, NAME, age,(select count(*) from mytable WHERE AGE > 10) as Count 
from MYTABLE 
WHERE AGE > 10 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...