假设我在Postgres中有一个名为listings
的表,看起来像这样:
id neighborhood bedrooms price
1 downtown 0 256888
2 downtown 1 334000
3 riverview 1 505000
etc.
字符串
如何编写一个交叉表查询,将每个卧室的平均价格显示为列,将相邻区域显示为行?
查询的输出应具有以下格式:
0 1 2 3
riverton 250000 300000 350000 -
downtown 189000 325000 - 450000
型
3条答案
按热度按时间ffscu2ro1#
首先使用聚合函数
avg()
计算平均值:字符串
然后将结果馈送到
crosstab()
函数,如以下相关答案中详细说明的那样:r6vfmomb2#
另一个使用filter实现的解决方案:
字符串
daupos2t3#
在Postgres中构建数据透视表的最好方法是CASE表达式。
字符串
在问题数据上运行此命令会产生
型