Sql server SQL使用pivot计算不同国家/地区的平均价格范围
我有一个关于餐馆的数据库,有它们的价格范围(低、中、高),它们所在的国家,还有一些评论(整数) 因此,示例输出如下所示:Sql server SQL使用pivot计算不同国家/地区的平均价格范围,sql-server,pivot,Sql Server,Pivot,我有一个关于餐馆的数据库,有它们的价格范围(低、中、高),它们所在的国家,还有一些评论(整数) 因此,示例输出如下所示: Country | price range | score USA | Low | 5 Italy | Med | 3 England | High | 1 USA | Med | 4 现在,我需要以某种方式显示每个国家/地区的平均分数。这意味着每个国家每个范围的平均值,当
Country | price range | score
USA | Low | 5
Italy | Med | 3
England | High | 1
USA | Med | 4
现在,我需要以某种方式显示每个国家/地区的平均分数。这意味着每个国家每个范围的平均值,当然需要使用轴心来显示它们,尽管我还没有做到这一点。请问我能做什么?试试这个-
SELECT Country,
AVG(CASE WHEN [price range] = 'low' THEN Score ELSE NULL END) low_Avg,
AVG(CASE WHEN [price range] = 'medium' THEN Score ELSE NULL END) medium_Avg,
AVG(CASE WHEN [price range] = 'high' THEN Score ELSE NULL END) high_Avg
FROM your_table
GROUP BY Country
通过
PIVOT
SELECT Country AS [Average per Country],
[Low], [Med], [High]
FROM (
SELECT [Country], [PriceRange], [Score]
FROM [dbo].[Restaurants]
) AS SourceTable
PIVOT (
AVG(Score)
FOR [PriceRange] IN ([Low], [Med], [High])
) AS PivotTable
谢谢!,我一直在努力尝试,但没有成功,但这一切都非常成功。。我更喜欢这种方式,因为我需要使用枢轴或案例。