我在表格中有不同的移动类型。像iPhone,Android,Windows等类型。我想使用相同的查询获取每种类型的个别计数。我使用下面的查询来计算一种类型。
`select type,
count(1) AS total
from mobile_types where type = 'iPhone'
group by type;'
我用一条记录获得了所需的o / p。
iPhone 1000
但是当我尝试多个记录时,我收到了一个错误。我使用以下内容进行多项记录。
'select type,
count(1) AS total
from mobile_types where type = 'iPhone'
from mobile_types where type = 'windows'
group by type;'
我得到的错误是" ParseException第5:0行'来自'靠近' iPhone''"
有没有办法以下面的格式输出输出,类型为列名,下面的计数为行?
| iPhone |窗口|机器人|
1000 | 1500 | 900 |
更新
我能够使用以下脚本获得个人计数。
'select type,
count(1) AS total
from mobile_types where type = 'iPhone' OR type = 'android' OR type = 'windows'
group by type;'
但仍需要上面提到的o / p格式。目前的o / p格式
iphone 1000
android 900
windows 1500。
有什么建议吗?
答案 0 :(得分:0)
您不需要where子句来获取类型。这将显示所有类型的列表,其中包含总列中每个类型的计数。
select type,
count(*) AS total
from mobile_types
group by type;
评论后
SELECT type,
COUNT(*) AS total
FROM mobile_types
WHERE type IN ('IPhone','Android', 'Other Phone Names')
GROUP BY type;
答案 1 :(得分:0)
获取您正在寻找的输出格式:
select
sum(if(type = 'iphone', 1, 0)) as n_iphone,
sum(if(type = 'android', 1, 0)) as n_android,
sum(if(type = 'windows', 1, 0)) as n_windows
from mobile_types;