вот структура моей таблицы с данными
empId, acitve
1,1
2,0
3,1
45,0
52,1
11,1
Но все данные должны быть возвращены в одной строке с соответствующим именем столбца.
Я пробовал это, но его результат не соответствует ожиданиям:
SELECT Count(*) total, active as total
FROM it_staff_status
GROUP by active
Что-то вроде этого
select Count(*) total,
sum(active=1) as activemem,
sum(active=0) as inactivemem
from yourtable
ПОПРОБУЙТЕ ЭТО: CASE
пользователя, чтобы считать active
и inactive
и вам не нужна group by
здесь, потому что все столбцы агрегируются с помощью функции aggregate:
SELECT Count(*) total,
SUM(CASE WHEN ACTIVE = 1 THEN 1 ELSE 0 END) as Active,
SUM(CASE WHEN ACTIVE = 0 THEN 1 ELSE 0 END) as InActive
FROM it_staff_status
Попробуй это:
SELECT COUNT(*) as total,
SUM(CASE WHEN active = 1 THEN 1 END) as active_emp,
SUM(CASE WHEN active = 0 THEN 1 END) as inactive_emp
FROM it_staff_status