Как работает запрос? - PullRequest
       0

Как работает запрос?

0 голосов
/ 03 марта 2020

Я не понимаю, как работает запрос в примере. Запрос выглядит следующим образом:

SELECT COUNT(1) FROM (
    SELECT 1
    FROM Table1
    WHERE... 
    GROUP BY Table1.column2, Table1. Column3
)

Знаете ли вы, как практически работает этот запрос, особенно select count (1) и select 1?

Ответы [ 4 ]

2 голосов
/ 03 марта 2020

Count(1) и Count(*) являются взаимозаменяемыми. «Выбрать все»

subquery, как упоминается стерлинг, сгруппирован. Таким образом, полученный запрос должен вывести общее количество групп.

2 голосов
/ 03 марта 2020

У вас есть 2 запроса, внутренний и внешний. Внутренний:

    SELECT 1
    FROM Table1
    WHERE... 
    GROUP BY Table1.column2, Table1. Column3

даст вам некоторый результат как обычный запрос, внешний подсчитает, сколько строк вы получите в результате, COUNT(1) действует так же, как COUNT(*).

1 голос
/ 03 марта 2020
SELECT COUNT *  FROM table1(
    WHERE... 
    GROUP BY Table1.column2, Table1. Column3
);
1 голос
/ 03 марта 2020

Внутренний запрос выберет «1» столько раз, сколько строк вы получите после применения фильтрации и группировки. После этого внешний запрос подсчитает все строки во внутреннем запросе. (count (1) равно count (*)) Результатом является количество групп.

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