表中以以下格式要求的输出

时间:2018-07-06 08:53:40

标签: sql oracle

我在下表中有一个名为“名称”的列:

NAME
----
F
M
F
M
F
M
F
F

如何以以下格式显示男性和女性人数?

M  F
3  5

谢谢

3 个答案:

答案 0 :(得分:2)

尝试一下

select sum(Case when name = 'M' then 1 else 0 end) as "M", 
sum(Case when name = 'F' then 1 else 0 end) as "F" 
from my_table

答案 1 :(得分:2)

这是一个关键点:

select * from demo
pivot 
(
  count(name)
  for name in ('F' as f, 'M' as m)
);

答案 2 :(得分:0)

您可以使用Pivot来获得这种解决方案。

选择 [M]为“男”,[F]为“女” 从 (选择名称  FROM #NAME)AS SourceTable 枢 (

COUNT(NAME)  在([M],[F]中) )AS数据透视表;