---sqlserver写法: SELECT COUNT(1),remark FROM ( SELECT Remark=CASE WHEN Remark LIKE '%CHECK TKT TIME%' THEN '保留时间有问题' WHEN Remark LIKE '%WITH "AV" AGAIN%' THEN '没有舱位' WHEN Remark LIKE 'DUPLICATE TEL NUMBER%' THEN '订位授权OFFICE号重复' WHEN Remark LIKE '%INVALID FOID%' THEN '证件号错误' ELSE '其他' end FROM JinRiLogger.dbo.UserOperateLog201307 WITH(NOLOCK) WHERE OperateType=8 ) AS a GROUP BY a.Remark ---oracle写法: SELECT CASE WHEN Remark LIKE '%CHECK TKT TIME%' THEN '保留时间有问题' WHEN Remark LIKE '%WITH "AV" AGAIN%' THEN '没有舱位' WHEN Remark LIKE 'DUPLICATE TEL NUMBER%' THEN '订位授权OFFICE号重复' WHEN Remark LIKE '%INVALID FOID%' THEN '证件号错误' ELSE '其他' end,count(*) FROM JinRiLog.UserOperateLog partition (p2) where Operatetype=8 group by CASE WHEN Remark LIKE '%CHECK TKT TIME%' THEN '保留时间有问题' WHEN Remark LIKE '%WITH "AV" AGAIN%' THEN '没有舱位' WHEN Remark LIKE 'DUPLICATE TEL NUMBER%' THEN '订位授权OFFICE号重复' WHEN Remark LIKE '%INVALID FOID%' THEN '证件号错误' ELSE '其他' end ;