select 姓名,
sum(decode(套餐,'46元',1)) as "46元",
sum(decode(套餐,'66元',1)) as "66元",
sum(decode(套餐,'96元',1)) as "96元",
sum(decode(套餐,'126元',1)) as "126元",
sum(decode(套餐,'156元',1)) as "156元"
from T
group by 姓名
order by 姓名
sum(decode(套餐,'46元',1)) as "46元",
sum(decode(套餐,'66元',1)) as "66元",
sum(decode(套餐,'96元',1)) as "96元",
sum(decode(套餐,'126元',1)) as "126元",
sum(decode(套餐,'156元',1)) as "156元"
from T
group by 姓名
order by 姓名
SELECT *
FROM T
PIVOT (
SUM(1)
FOR 套餐
IN ('46元','66元','96元','126元','156元')
)