【发布时间】:2016-06-21 06:44:45
【问题描述】:
我的问题如下,ServiceTypeWithAvgPriceBelowAvgServicePrice 是一个提供平均价格低于平均服务价格的服务类型详细信息的视图。使用示例数据,以下查询应产生以下结果:
ServiceType | ServiceTypeAvgPrice | ServiceAvgPrice
3rd drafting | 280 | 522.7083
4th drafting | 320 | 522.7083
client consultation | 172.5 | 522.7083
design selection | 300 | 522.7083
initial consultation | 0 | 522.7083
样本数据
Description Actual Price
initial consultation $0
initial consultation $0
design selection $300
drafting $1200
council approval $600
client consultation $360
develop design $2070
client consultation $180
client consultation $180
client consultation $135
initial consultation $0
design selection $300
drafting $1200
council approval $600
client consultation $90
1st drafting $1920
2nd drafting $920
3rd drafting $280
council approval NULL
initial consultation $0
initial consultation $0
design selection $300
drafting $1500
council approval $600
client consultation $90
4th drafting $320
initial consultation $0
我试图检索低于实际价格总平均值的 5 个平均值,但我很难将每个独特描述的平均值与总价格进行比较。我正在尝试如下子查询,
select avg(actualPrice) as serviceytpeAvg
from service
having avg(actualprice) > (
select avg(actualprice)
from service
group by descrption)
但它被拒绝了,因为它不能为子查询返回一个以上的值。解决办法是什么?
【问题讨论】:
标签: sql-server subquery average