我在postgres中有一个表(这是查询的结果),它有一组行(复杂的数据总和的结果),如下所示:(列名是每天的名称,以及每列的值是双精度.)
星期一星期二星期三星期四星期五
1.24 1.11 4.51 3.21 2.21 1.01
我需要从一行中选择数据,因此结果如下所示:
天量
太阳1.24
星期一1.11
周二4.51
周三3.21
周四2.21
周五1.01
我刚开始时遇到困难,因为我真的需要将列名更改为值并转动结果.我尝试过使用交叉表,但我并不完全确定这是我需要的.任何可以让我朝着正确的方向前进的建议或建议都将非常感激.
修改@Jack Douglas的第一个答案:
SELECT unnest(array['sun','mon','tue','wed','thu','fri']) AS day,unnest(array[sun,mon,tue,wed,thu,fri]) AS amount FROM t;
根据9.0查询规划器,成本稍低:
Seq扫描t(成本= 0.00..11.62行= 360宽度= 192)
与
z上的子查询扫描(成本= 0.00..12.16行= 360宽度= 68) – > Seq扫描t(成本= 0.00..11.26行= 360宽度= 192)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。