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

在PostgreSQL中访问列别名

呼延衡
2023-03-14
问题内容

在理解查询别名在Postgresql中的工作方式时有些麻烦。我有以下几点:

SELECT DISTINCT robber.robberid,
                nickname,
                Count(accomplices.robberid) AS count1
FROM   robber
       INNER JOIN accomplices
               ON accomplices.robberid = robber.robberid
GROUP  BY robber.robberid,
          robber.nickname
ORDER  BY Count(accomplices.robberid) DESC;


 robberid |            nickname            | count1 
----------+--------------------------------+--------
       14 | Boo Boo Hoff                   |      7
       15 | King Solomon                   |      7
       16 | Bugsy Siegel                   |      7
       23 | Sonny Genovese                 |      6
        1 | Al Capone                      |      5
 ...

我可以使用as命令重命名“
count1”列,但似乎无法在查询中再次引用它吗?我试图在此查询的末尾包含一个HAVING命令,以仅查询计数少于最大值的一半的对象。

这是家庭作业,但我不是在寻求答案,而是一个指向如何在另一个子句中包含count1列的指针。

有人可以帮忙吗?


问题答案:

通常,您不能在查询的后面引用聚合列的别名,而必须重复聚合

如果您确实要使用其名称,则可以将查询包装为子查询

SELECT * 
FROM
(
    SELECT DISTINCT robber.robberid, nickname, count(accomplices.robberid)  
    AS count1 FROM robber                   
    INNER JOIN accomplices  
    ON accomplices.robberid = robber.robberid  
    GROUP BY robber.robberid, robber.nickname  
) v
ORDER BY count1 desc


 类似资料:
  • 问题内容: 我知道我可能需要进行分组才能完成此任务,但我不太了解。PostgreSQL 8.1 我需要将结果集限制为“原始> 2017-01-01”。原始设置在第11行中。它在Excel中作为一列返回,是一个日期。 目前,它返回的结果可以追溯到几年前的数据,而我们并不需要它。 更新:我已将选择内容更改为这样,它似乎正在工作-是否对这样做是否正确有任何想法?它只会一直盯着过去的180天。 问题答案:

  • 本文向大家介绍postgresql 使用C-API访问PostgreSQL,包括了postgresql 使用C-API访问PostgreSQL的使用技巧和注意事项,需要的朋友参考一下 示例 C-API是访问PostgreSQL的最强大的方法,令人惊讶的舒适。 编译和链接 在编译期间,您必须将PostgreSQL包含目录(可以通过找到)添加pg_config --includedir到包含路径。 您

  • 我在JOOQ中手动声明用于简单(但类型安全)查询的表和字段,使用: 为创建别名很容易: 但是我如何在myAlias中访问myField的值呢? 请注意,将产生,因为该字段不是此表定义的一部分。

  • 在@inheritage类型Joined中 我有班级成员、员工和学生 因此,当我保存Employee或Student记录,然后检索Person记录时,它给我的鉴别器列值为NULL,但在重新启动服务器后,它给我相应的值 如果我手动设置鉴别器列值的值,然后保存和检索,那么它会给我这个值(我需要手动设置鉴别器列值吗?)那么使用鉴别器列有什么好处呢 为什么我不应该使用一个具有列类型的employee和st

  • 这表明Docker postgresql(正在运行)在该端口不可用。我尝试将添加到我的中,但没有成功。有什么提示吗?

  • 问题内容: 我在SASS中有一个列表,并且我正在尝试使用方括号表示法访问这些项目: 但这给了我一个错误。 还有其他方法吗? 我为什么要这样做? 我有一个颜色列表,必须根据服务器分配给它们的颜色在不同的元素上进行设置。标记已编号的类(,等)。这是我的目标CSS: 我想不用手工编写所有内容,而是可以将SASS集合与循环一起使用: 但这只是给我以下错误: 语法错误:“ … color-collectio