Это связано с агрегацией и тем, что она означает в контексте других столбцов. То есть другие столбцы без агрегации действуют как ключ группировки.
В вашем первом запросе ваш единственный групповой ключ - u. Это означает, что ваш вывод - это счет всех учетных записей ext для каждого пользователя.
В вашем втором запросе ваш ключ группировки включает u, pw_rel, ext_acc. Таким образом, он возвращает количество всех учетных записей ext для каждой комбинации user/pw-rel/ext_acc (или строки). Это не очень полезно, так как вы, вероятно, вернете счет по одному в каждой строке, поэтому нет строк, которые передадут ваше предложение WHERE для счетчика> 2. Даже если вы удалили столбец ext_acc в своем WITH, Столбец pw-rel все равно будет ограничивать вас числом в 1 (поскольку для пользователя/pw_rel только один файл ext_acc).
Должно быть легко увидеть, что другие столбцы изменяют то, что объединяют функции агрегата, и столбцы, которые вы получите.
Количество (ext_acc) - Общее кол-во всех внутр счетов
и, COUNT (ext_acc) - пользователей, и подсчет внутр счетов для каждого пользователя
и, pw_rel, COUNT (ext_acc) - Пользователи, оплаченные отношения и количество всех внешних учетных записей на одного пользователя и оплаченные с помощью этого пользователя
u, pw_rel, ext_acc, count (ext_acc) - Пользователи, оплачиваемые отношениями, учетными записями пользователей и подсчет всех внешних учетных записей на одного пользователя и оплаченный - с отношением от этого пользователя к определенной учетной записи пользователя.
Спасибо за объяснение! – lxngxr