?
Имею ввиду чтоб для каждой записи ( рядка ) в поле 'count_finished' посчиталося значение с WHERE trackstatus = 'FINISHED',
а в поле 'count_started' посчиталося значение с WHERE trackstatus = 'STARTED'
SELECT m.id AS mission_id,
m.titleua as title_ua,
m.titleru as title_ru,
m.titleen as title_en,
count(mpt.trackstatus) AS count_finished,
count(mpt.trackstatus) AS count_started
FROM mission m
JOIN mission_progress_track mpt ON m.id = mpt.mission_id
WHERE trackstatus = 'FINISHED' -- условие только для статусов 'FINISHED', а хотелось сразу по 2 статусам в 2 колонки
GROUP BY m.id, trackstatus
ORDER BY m.id;
пробовали select count(*) filter (where CONDITION) ... ?
Нет, сейчас погуглю. Суть запроста достать название, и количество пройдених и начатых прогресов для каждой из мисий (в одну запись для каждой мисии).
ну вот пример, тут запрос считает count'ы на основе одного поля, но для разных значений
Обсуждают сегодня