sql - 我怎样才能找到最大值(RowID)
问题描述
我有一个查询,我使用Row_Number()
.
我想选择 max(RowID) 值,我该怎么做。
select *
from
(
select ROW_NUMBER() OVER (partition by A.Name order by A.Name) AS RowID,
--**there are some joins and some where clauses**
) B
where RowID=1
order by Created desc
如果 QueryB 可以包含order by Created desc
,我可以选择RowId=1
并且问题已解决。但是当我尝试这样做时,我得到了一个错误。
那么,如何获得 max(RowID) 值?
解决方案
在函数调用中使用正确的ORDER BY
子句:ROW_NUMBER()
select *
from (
select
ROW_NUMBER() OVER (PARTITION BY A.Name ORDER BY A.Created DESC) AS RowID,
-- columns ...
-- FROM ...
-- JOIN ...
) B
where B.RowID = 1
推荐阅读
- c++ - 如何在一行内向左或向右移动光标?
- node.js - 如何将表单数据和其他附加数据从 vue 发送到节点服务器
- javascript - How I can check error from try/catch block in Jest
- android - 在同一个flutter webview中打开一个新的标签链接
- c - 从方法返回一个浮点值并尝试打印它后,打印的值总是错误的(尽管该方法确实按预期工作)
- php - 未定义的变量,从未由 __construct 设置
- r - 在数据(aml)中:未找到数据集“aml”
- html - 使用 flex 水平对齐图像和文本
- c# - 请求包含实体主体但没有 Content-Type 标头。推断的媒体类型 application/octet-stream 不支持此资源
- elasticsearch - Logstash / Elasticsearch:“无法安装模板”/“得到响应代码'400'”