我有一张带有以下列的表格
id = 例如1,2,3,4,5,6...
状态 = 例如可用/不可用
城市名称 = 例如 = 艾哈迈达巴德
我写了下面的查询并得到了我需要的输出,但我希望它采用不同的格式
SELECT count(id) as 'Count', status, cityName FROM table_name
WHERE cityName like 'Ahmedabad'
GROUP BY status ;
输出:-
----------------------
Count|status|cityname
----------------------
100|Available|Ahmeadabad
200|Not Available|Ahmeadabad
我想要的输出:-
--------------------------------
Available|Not Available|cityname
--------------------------------
100|200|Ahmeadabad
最佳答案
SELECT
SUM(IF(status = 'Available', 1, 0)) AS `Available`,
SUM(IF(status = 'Not Available', 1, 0)) AS `Not_Available`,
cityName
FROM
table_name
GROUP BY cityName
如果查询有任何不清楚的地方,请询问。
或者,如果您只想要单个城市,则可以省略 GROUP BY
SELECT
SUM(IF(status = 'Available', 1, 0)) AS `Available`,
SUM(IF(status = 'Not Available', 1, 0)) AS `Not_Available`,
cityName
FROM
table_name
WHERE cityName = 'Ahmeadabad'
关于mysql - 需要使用不同条件从表的列中的单行中进行多次 id 计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317491/