sql - 如何解决“没有为'r'的第1列指定列”
问题描述
我的 SQL 查询是
select *
from (
select rtrim(Emp.s_filterh)
from Emp, Dept
where Dept.label = 'xyz' and Emp.filtery = 1 and Emp.r_id = Dept.r_id
order by 1 desc offset 0 rows
) as r
where ROW_NUMBER() < 26
当我运行这个时,我得到
没有为“r”的第 1 列指定任何列
当我读到我们应该提供别名的错误时,但在我的情况下,即使在提供别名查询之后也会引发错误。
编辑:我正在尝试使用 ROW_NUMBER() 来限制获取的行数。
有人可以让我知道出了什么问题
解决方案
如果要用于ROW_NUMBER
检索前 26 行,请使用以下语法:
SELECT *
FROM
(
SELECT *, RTRIM(Emp.s_filterh),
ROW_NUMBER() OVER (ORDER BY RTRIM(Emp.s_filterh) DESC) rn
FROM Emp e
INNER JOIN Dept e ON d.r_id = e.r_id
WHERE d.label = 'xyz' AND e.filtery = 1
) t
WHERE rn < 26;
推荐阅读
- ios - 如何在不留下空白的情况下隐藏 UI?
- hdf5 - 在 Windows 10 上打开新安装的 HDFViewer 时出现错误“类路径包含多个 slf4J 绑定”
- td-agent - 在 td-agent 中重新路由到未标记的匹配指令
- r - 数据框的搜索列,每个 i 在同一数据框的另一列中 - R
- python - 使用 Pandas 和 Numpy 通过 ID 索引查找比率的计算时间昂贵
- python - 从csv解析时如何为matplotlib图赋予不同的标题?
- c - 单个字符的scanf()函数不起作用
- minikube - 是否可以为 minikube 使用不同的 VM 映像
- android - Flutter 发布的应用程序不支持 android 版本 10 中的 http ( 不是 https ) 请求
- jasper-reports - Jasper 报告错误从 Bean 检索字段值