Как я могу посчитать случаи сгруппированных значений в таблице? - PullRequest
0 голосов
/ 25 октября 2018

У меня есть таблица в моем postgres db ниже.Я хотел бы знать, сколько раз значения (имя1, имя2, имя3) встречаются в таблице, где пробная версия равна 1. В случае ниже ожидаемого результата:

name1, 4
name2, 3
name3, 2

+--------------+
| id|name|trial|
+--------------+
|1  |name1|1   |
|2  |name1|1   |
|3  |name1|1   |
|4  |name1|1   |
|5  |name2|1   |
|6  |name2|1   |
|7  |name2|1   |
|8  |name3|1   |
|9  |name3|1   |

Что я пробовал до сих пор:

SELECT count(C.NAME)
FROM FIRST AS C
WHERE NAME = (
              SELECT CS.NAME
              FROM FIRST AS CS
              WHERE TRIAL = 1
              GROUP BY CS.NAME
              )

этот запрос возвращается с 9, который является числом строк.

1 Ответ

0 голосов
/ 25 октября 2018

Вы упускаете группу по предложению.Кроме того, запрос может быть упрощен, попробуйте это:

SELECT count(1), Name
FROM FIRST
WHERE TRIAL = 1
GROUP BY Name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...