【问题标题】:ROW_NUMBER query in PostgreSQL?PostgreSQL 中的 ROW_NUMBER 查询?
【发布时间】:2018-11-16 01:06:50
【问题描述】:
--1
(select * , row_number() over (order by columnname) as tempcolumn 
 from tablename )

--2
select * , row_number() over (order by defid) as tempcolumn 
from fields 
where tempcolumn between 1 and 2 

第一个查询将为整个表添加一个新列。

我需要在检查临时列的范围后显示结果。 我尝试的第二个查询抛出了一个错误,比如 tempcolumn 不存在

【问题讨论】:

    标签: c# postgresql


    【解决方案1】:

    你可以使用子查询:

    SELECT * FROM (
      select *,ROW_NUMBER() OVER(ORDER BY columnname) as tempcolumn 
      from  tablename) sub
    WHERE tempcolumn <= 2;
    

    您不能在同一级别的WHERE 子句中使用来自SELECT 的别名,也不能将ROW_NUMBER() 用作WHERE 的一部分。

    更多信息:

    【讨论】:

      猜你喜欢
      • 2016-05-09
      • 2015-10-26
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 2018-08-26
      相关资源
      最近更新 更多