如何解决SQL-如何使用CASE表达式查询VIEW-查找列中的平均值
我正在计算赛马市场的平均获胜赔率和平均排名赔率
我尝试了CASE
表达式,因为仅在Place =1
时才计算WinOdds的平均值,而在Place <= 10
时才应包含PlaceOdds的平均值
SELECT
CASE WHEN Place = 1 THEN AVG(IndustrySP) AS AvgWinOdds,CASE WHEN Place <= 10 THEN AVG((IndustrySP - 1.0) / 5) AS AvgPlaceOdds
FROM dbo.GrandNational -- This is the `view` I want to query
我正在寻找获胜的平均赔率(当Place = 1时)
和位置的平均赔率(当位置
应返回如下内容:
-- AvgWinOdds -- AvgPlaceOdds
-- 6.44 -- 4.22
解决方法
您必须对CASE表达式求平均:
SELECT
AVG(CASE WHEN Place = 1 THEN IndustrySP END) AS AvgWinOdds,AVG(CASE WHEN Place <= 10 THEN (IndustrySP - 1.0) / 5 END) AS AvgPlaceOdds
FROM dbo.GrandNational
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。