Обратная группа по и считает - PullRequest
0 голосов
/ 03 мая 2019

У меня есть таблицы для вопросов и ответов.Каждый вопрос может иметь 0 или несколько ответов.Когда вы выходите из таблицы, вы получаете что-то вроде этого:

q1   a1
q1   a2
q2   a3
q3   NULL
q4   NULL
q5   a4
q6   NULL
q7   a5
q7   a6

Что мне нужно, так это количество ответов и количество вопросов, на которые есть столько ответов.то есть

number_of_answers    number_of_questions_that_have_that_many_answers
0                    3
1                    2
2                    2

Какой SQL-запрос в Redshift решит эту проблему?

1 Ответ

1 голос
/ 03 мая 2019

Другой уровень GROUP BY должен сделать это:

SELECT answer_count, COUNT(*) AS number_of_questions
FROM (
    SELECT q.id, COUNT(a.id) AS answer_count
    FROM questions q
    LEFT JOIN answers a ON a.question_id = q.id
    GROUP BY q.id
) AS x
GROUP BY answer_count
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...