SQL - Запросы с GROUP BY? - PullRequest
0 голосов
/ 07 мая 2018

Я хочу использовать запрос, чтобы получить этот результат:

Postid(20) ---> 4 type(0) et 2 type(1)
Postid(21) ---> 3 type(0) et 3 type(1).

Из этой таблицы:

id | userid | postid | type
1  |   465  |  20    |  0
2  |   465  |  21    |  1
3  |   466  |  20    |  1
4  |   466  |  21    |  0
5  |   467  |  20    |  0
6  |   467  |  21    |  0
7  |   468  |  20    |  1
8  |   468  |  21    |  1
9  |   469  |  20    |  0
10 |   469  |  21    |  1
11 |   470  |  20    |  0
12 |   470  |  21    |  0

Я думаю, что должен использовать GROUP BY, я пробовал, но я не получил результатов.

Как мне достичь этого результата?

1 Ответ

0 голосов
/ 07 мая 2018

Вам необходимо использовать функцию агрегирования вместе со столбцами, по которым вы хотите сгруппировать данные в части SELECT. Примечание. Любой столбец, выбранный рядом с функцией агрегирования, ДОЛЖЕН появиться в разделе GROUP BY.

Следующий код должен ответить на ваш вопрос:

SELECT COUNT(id), postid, type FROM table_name GROUP BY postid, type

При использовании нескольких столбцов GROUP BY все записи, имеющие общие столбцы, будут сгруппированы, см. Здесь: https://stackoverflow.com/a/2421441/9743294

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