SQL Server 查询好评率问题问题

lilin0503 2014-05-07 10:40:34
数据库中有一评论表,包含 target_id(评论对象id),comment_level(评级,1,2,3分别代表 好评,中评,差评),其余评论人,时间等字段略,有没有不使用存储过程的情况下用sql语句查询出下面的结果
target_id haoping zhongping caping
123 85.5% 10% 4.5%
124 75% 20% 5%
比例结果为小数也行,请各位赐教
...全文
300 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilin0503 2014-05-07
  • 打赏
  • 举报
回复
问题已解决 谢谢两位
發糞塗牆 2014-05-07
  • 打赏
  • 举报
回复
存储过程的逻辑部分就可以提出来直接用,跟是否用存储过程没关系
水族杰纶 2014-05-07
  • 打赏
  • 举报
回复
select target_id, sum(case when comment_level=1 then 1 else 0 end)*1.0/count(*) as haoping, sum(case when comment_level=2 then 1 else 0 end)*1.0/count(*) as zhongping, sum(case when comment_level=3 then 1 else 0 end)*1.0/count(*) as chaping from 评论表 group by target_id
發糞塗牆 2014-05-07
  • 打赏
  • 举报
回复
select target_id,count(case when commnet_level=1 then 1 else null end )*1.0/count(commnet_level) [haoping] from tb group by target_id 后面两个同理
lilin0503 2014-05-07
  • 打赏
  • 举报
回复
补充下,haoping 就是好评所占的比例,同理为中评,差评的比例

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧