Данные таблицы
id |name | status |location
----------------------------------
1 |ABCD |completed | Delhi
2 |QWER |construction | Mumbai
3 |RBVF |To_launch | Chennai
4 |POIU |ready | Kolkata
5 |WABCD |completed | Delhi
6 |RQWER |construction | Mumbai
7 |TRBVF |To_launch | Chennai
8 |UPOIU |ready | Kolkata
9 |RBVF |To_launch | Chennai
10|POIU |ready | Kolkata
11|WABCD |completed | Delhi
скажем, мой вывод должен быть похож
construction status count
completed 4
To_launch 3
ready 3
construction 2
Я пробовал что-то вроде
select d.status, count(d.status)
from data d
where d.status = 'completed'
но я хочу, чтобы все результаты статуса приходили в один Query.But iam не могли понять его. Т.е.... Пожалуйста, предлагайте улучшить себя в SQL.
использовать совокупную функцию count
и group by
select status as 'construction status' ,count(*)as Cnt from Yourtable
group by status
ниже запроса также отображается общее количество, как было указано в вашем комментарии
select status as 'construction status', count(*) as count, total from
Yourtable,(select count(*) as total from Yourtable) t2
group by status
GROUP BY
.