加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 16:31:10 所属栏目:百科 来源:网络整理
导读:我想使用列的索引(数字)执行选择.我试过了: select 1 from "user"select '1' from "user" 但他们不按我的意愿行事. 你不能在postgres中这样做.选择文字(例如1或’1′)只会返回其值.允许这样的索引的唯一地方是order by子句,即使在那里,它们也与表中列的顺序
我想使用列的索引(数字)执行选择.我试过了:
select 1 from "user"
select '1' from "user"

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

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

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

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

SELECT   col1,COUNT(*)
FROM     my_table
GROUP BY 1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读