У меня есть такая таблица
Теперь мой вывод должен быть
total_rows | completed | incomplete ------------------------------------ 7 2 5
Как мне этого добиться.
Вы можете использовать агрегирование условий
select count(*) total , sum(completed = 1) completed , sum(completed = 0) incompleted from your_table
Я думаю, что это поможет вам
select count(id) as total_rows , sum(completed = 1) as completed , sum(completed = 0) as incompleted from sales_call_task_jo_iformation;
Пожалуйста, попробуйте это, если вам нужно, я помогу вам
С условной агрегацией:
select count(*) as total_rows, sum(completed) completed, sum(1 - completed) incomplete from tablename
или:
select count(*) as total_rows, sum(completed) completed, sum(not completed) incomplete from tablename
Попробуйте следующее.
select count(*) as total_rows, sum(case when completed = 1 then 1 else 0 end) as completed, sum(case when completed = 0 then 1 else 0 end) as incomplete from myTable