Запрос mysql для выбора всех задач цели и тех задач, которые выполнены

идентификатор цели общее количество случаев общего количества идентификаторов цели, когда статус равен 1

1 5 3

это схема стола

CREATE TABLE `goal_objectives` (
  `objective_id` int(11) NOT NULL ,
  `objective_name` varchar(255) NOT NULL,
  `objective_description` tinytext NOT NULL,
  `goal_id` int(11) NOT NULL,
  `objective_status` tinyint(4) NOT NULL
);

select goal_id,  count(objective_status)as objective_done
from goal_objectives
where objective_status='1' group by goal_id;


select goal_id,count(goal_id) as total_current_goals 
from goal_objectives
group by goal_id
order by goal_id DESC ;

Я просто хочу показать результат объединения этих двух запросов.

По отдельности он возвращает требуемый результат, но когда я пытаюсь их объединить, это не работает. Смотрите результат по ссылке ниже: https://i.imgur.com/6Rnac89.png

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
0
33
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

select goal_id, count(*) as total_current_goals,
       sum( objective_status = 1 ) as objective_done
from goal_objectives
group by goal_id
order by goal_id desc ;

Обратите внимание, что objective_status — это число. Значение сравнения должно быть количество, а не нить.

Спасибо @gordon-linoff

Waqas Kanju 29.07.2019 16:38

Другие вопросы по теме