mysql - 需要使用不同条件从表的列中的单行中进行多次 id 计数

标签 mysql database group-by pivot

我有一张带有以下列的表格

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/

相关文章:

php - 禁止发布 403,在 justhost 上的 wordpress 站点

java - JPA Criteria API 检查关联集合是否是另一个集合的子集

c++ - 使用 OCCI 在 Oracle Database 11g 中存储无符号 64 位整数的最佳方法

python - 无法打开数据库文件 - Mayan EDMS

Mysql SUM 基于条件

mysql - 导轨 4 : can't save a record to db

php - php 和 mysql 中的反斜杠

sql - 从多个表中获取信息的查询

Pandas 使用具有多个参数的函数进行聚合

mysql - 如何从下面的 MySQL 表中获取平均值 'rate'?