当前位置: 首页 > 面试题库 >

在PostgreSQL中,什么时候可以使用标识符号代替其名称?

简宏义
2023-03-14
问题内容

我正在开发一个软件,需要删除用户提供的数字,但是不幸的是,某些列之类的元素(与用户输入无关)也可以用数字表示。因此,我正在寻找一个完整的参考资料,以了解何时在查询中可以用ID表示列名或(也许是表名)。

例如,在下面的查询中建立了这种情况:

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

问题答案:

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

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

ORDER BY 子句
每个 表达式 都可以是输出列(SELECT列表项)的名称 或序号

还有 DISTINCT ON

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

例子:

  • 在每个GROUP BY组中选择第一行?


 类似资料:
  • 问题内容: 我从jls找到了报价: 相等运算符可用于比较两个可转换(第5.1.8节)为数字类型的操作数,或两个boolean或Boolean类型的操作数,或 两个分别为引用类型或null类型的操作数 。所有其他情况都会导致编译时错误。 但是这段代码 每个操作数都是参考! 说这是不兼容的类型。 jls在哪里说这些类型应该兼容? 问题答案: 在15.21.3节(参考相等运算符==和!=)中: 如果无法

  • 我找到了JLS引文: 表示它是不兼容的类型。 在jls中哪些地方说这些类型应该兼容?

  • 已弃用。这种方法本质上是不安全的。使用thread.Stop停止线程会导致它解锁它锁定的所有监视器(作为未检查的ThreadDeath异常向堆栈上传播的自然结果)。如果以前由这些监视器保护的任何对象处于不一致的状态,则损坏的对象将对其他线程可见,从而可能导致任意行为。stop的许多用法应该被简单修改某个变量以指示目标线程应该停止运行的代码所取代。目标线程应该定期检查这个变量,如果变量指示它要停止运

  • 问题内容: 美元符号($)是用于命名变量的有效字符,例如,但是当我们谈论命名约定时,何时应使用该符号? 例如,下划线最常用于分隔单词,因为不允许使用空格。 问题答案: 从Java语言规范中的标识符开始: 该字符应仅在机械生成的源代码中使用,或很少用于访问旧系统上的现有名称。

  • 美元符号($)是命名变量的有效字符,例如,但是当我们讨论命名约定时,我应该在什么时候使用这个符号呢? 例如,下划线最常用来分隔单词,因为不允许有空格。

  • 问题内容: 如数组和字典 实例方法中所述: 以与for-in循环相同的顺序在 序列 中的每个元素上调用给定的闭包。 尽管如此,改编自序列概述: 序列是您可以一次浏览一个值的列表。遍历序列元素 的最常见方法 是使用 for-in循环 。 或表示该迭代序列: 或(数组): 将给出相同的输出。 为什么还要存在?即使用它而不是循环有什么好处?从性能角度来看,它们是相同的吗? 作为一个假设,它可能是语法糖,