我们啥时候可以在 PostgreSQL 中使用标识符号而不是其名称?

Posted

技术标签:

【中文标题】我们啥时候可以在 PostgreSQL 中使用标识符号而不是其名称?【英文标题】:When can we use an identifier number instead of its name in PostgreSQL?我们什么时候可以在 PostgreSQL 中使用标识符号而不是其名称? 【发布时间】:2014-07-06 13:24:31 【问题描述】:

我正在开发一个需要删除用户提供的数字的软件,但不幸的是,一些元素,如列名(与用户输入无关)也可以用数字表示。所以我正在寻找一个完整的参考来了解列名或(可能是表名)何时可以在查询中由 id 表示。

例如在下面的查询中这种情况成立:

 select * from first group by 1,2,3;

【问题讨论】:

【参考方案1】:

output 列的位置引用在 SELECT 语句的 GROUP BY and ORDER BY 子句中有效。

GROUP BY 子句表达式可以是输入列名,也可以是名称或序数 输出列(SELECT 列表项)

ORDER BY 子句 每个表达式可以是输出列的名称或序数 (选择列表项)

还有DISTINCT ON:

DISTINCT ON 表达式使用与 ORDER BY 相同的规则进行解释。

例子:

Select first row in each GROUP BY group?

【讨论】:

谢谢。我们可以说只有这两个命令使用这种类型的引用吗? @CoderInNetwork:您可能对添加的DISTINCT ON感兴趣。

以上是关于我们啥时候可以在 PostgreSQL 中使用标识符号而不是其名称?的主要内容,如果未能解决你的问题,请参考以下文章

在 Postgresql 中打开和关闭连接的最佳时机是啥时候?

Postgresql 12 - 没有过滤条件的简单选择语句会减少 5K 行/秒的吞吐量?我们可以在这里优化啥?

PostgreSQL语法结构

postgresql数据库怎么查询所有的序列名

PostgreSQL如何获取系统视图/函数对应的源码

更新PostgreSQL数据