Есть ли запрос для получения одинаковых значений столбцов, поскольку два столбца зависят от значения данных - PullRequest
0 голосов
/ 07 января 2019

У меня есть таблица с именем comments, где имя столбца status (имеет 0 для неактивного, 1 для активного состояния). Теперь мне нужна помощь с запросом выбора, чтобы разделить два столбца, считая как 0 & 1, так и группу по почте. столбец id.

Я пробовал два отдельных запроса, но это не оптимально. Я пользователь Windows, использующий XAMPP 3.2.2.

ВЫБЕРИТЕ postid, считать (id), КАК утверждено ОТ комментариев, ГДЕ статус = 0 GROUP BY postid;

В результате будут показаны три столбца (postid, approved, disapproved)

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Если значения 0 и 1, вы можете упростить логику до:

SELECT postid,
       SUM(status) as approved,
       SUM(1 - status) as disapproved
FROM comments c
GROUP BY postid;
0 голосов
/ 07 января 2019

Использовать условную агрегацию:

SELECT
    postid,
    COUNT(CASE WHEN status = 1 THEN 1 END) AS approved,
    COUNT(CASE WHEN status = 0 THEN 1 END) AS disapproved
FROM comments
GROUP BY
    postid;

Идея в том, чтобы взять условную сумму / число для каждого postid, в зависимости от значения status. Проблема с включением этой логики в предложение WHERE заключается в том, что вы не можете одновременно проверить оба состояния.

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