有数据如下:
name score
张三 优
张三 优
张三 良
张三 良
张三 及格
李四 优
李四 良
李四 良
李四 良
李四 及格
李四 及格求SQL后结果为:
name 优 良 及格
张三 2 2 1
李四 1 3 2
大侠们,靠你们了……
name score
张三 优
张三 优
张三 良
张三 良
张三 及格
李四 优
李四 良
李四 良
李四 良
李四 及格
李四 及格求SQL后结果为:
name 优 良 及格
张三 2 2 1
李四 1 3 2
大侠们,靠你们了……
sum(decode(score,'优',1)) as "优",
sum(decode(score,'良',1)) as "良",
sum(decode(score,'及格',1)) as "及格"
from table1
group by name
select '张三' name,'优' score from dual
union all
select '张三' name,'优' score from dual
union all
select '张三' name,'良' score from dual
union all
select '张三' name,'良' score from dual
union all
select '张三' name,'及格' score from dual
union all
select '李四' name,'优' score from dual
union all
select '李四' name,'良' score from dual
union all
select '李四' name,'良' score from dual
union all
select '李四' name,'良' score from dual
union all
select '李四' name,'及格' score from dual
union all
select '李四' name,'及格' score from dual
)
select name,
sum(decode(score,'优',1)) as "优",
sum(decode(score,'良',1)) as "良",
sum(decode(score,'及格',1)) as "及格"
from temp
group by name