Запрос на получение отдельного количества столбцов с MYSQL - PullRequest
0 голосов
/ 17 июня 2020

У меня есть таблица с названием POEMS со столбцами poemID и userID. Я хочу сделать poemID отдельным и отображать только количество в столбце userID. Есть 3 poemID с 1. Я хочу, чтобы он показывал poemID 1, а userID был бы 2. poemID 2 и userID 3 для 3 строк и poemID 3 с userID 1 для 1 строки.

|poemID | userID|
   1       1
   1       5
   2       2
   2       5
   2       4
   3       2

Я хочу, чтобы приведенная выше таблица выглядела как таблица ниже.

|poemID | userID |
   1       2
   2       3
   3       1

Мой SQL запрос, который я пытаюсь выполнить, находится ниже, но он не работает. Пожалуйста, помогите.

SELECT DISTINCT(poemID), COUNT(userID) FROM POEMS GROUP BY poemID;

1 Ответ

1 голос
/ 17 июня 2020

Это выглядит как простой агрегационный запрос:

SELECT poemID, COUNT(*) no_users 
FROM POEMS 
GROUP BY poemID;

Или, если один и тот же пользователь может появляться несколько раз для данного стихотворения, и вы хотите посчитать его только один раз:

SELECT poemID, COUNT(DISTINCT userID) no_distinct_users 
FROM POEMS 
GROUP BY poemID;
...