postgresql – 按编号(索引)引用列

postgresql – 按编号(索引)引用列,第1张

概述我想使用列的索引(数字)执行选择.我试过了: select 1 from "user"select '1' from "user" 但他们不按我的意愿行事. 你不能在postgres中这样做.选择文字(例如1或’1′)只会返回其值.允许这样的索引的唯一地方是order by子句,即使在那里,它们也与表中列的顺序无关,而是在选择列表中: SELECT col1, col2, col3FROM 我想使用列的索引(数字)执行选择.我试过了:
select 1 from "user"select '1' from "user"

但他们不按我的意愿行事.

你不能在postgres中这样做.选择文字(例如1或’1′)只会返回其值.允许这样的索引的唯一地方是order by子句,即使在那里,它们也与表中列的顺序无关,而是在选择列表中:
SELECT   col1,col2,col3FROM     my_tableORDER BY 1

编辑:
一个警告是使用< some index>的顺序.与select *结合使用,可能看起来好像索引与表中列的顺序有关.但是,首先将*展开为包含所有列,然后才应用order by子句.所以最终,它确实引用了选择列表而不是表的实际结构.

EDIT2:
正如@klin所提到的,postgres的group by子句也允许索引:

SELECT   col1,COUNT(*)FROM     my_tableGROUP BY 1
总结

以上是内存溢出为你收集整理的postgresql – 按编号(索引)引用列全部内容,希望文章能够帮你解决postgresql – 按编号(索引)引用列所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1170111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存