sql - 如何在同一查询中使用 rowNumber 获取 MAX rownumber
问题描述
我有ROW_NUMBER() OVER (ORDER BY NULL) rnum
一个 sql 语句给我行号。有没有办法将最大 rnum 附加到同一个数据集出去?
我想要的是row_number()
我得到的,但我也想要每条记录的总回报的最大行数。
SELECT
ROW_NUMBER() OVER (ORDER BY NULL) rnum,
C.ID, C.FIELD1, C."NAME", C.FIELD2, C.FIELD3
FROM SCHEMA.TABLE
WHERE (C.IS_CRNT = 1)
), MAX_NUM as (
SELECT DATA.ID, max(rnum) as maxrnum from DATA GROUP BY DATA.COMPONENT_ID
) select maxrnum, DATA.* from DATA JOIN MAX_NUM on DATA.COMPONENT_ID = MAX_NUM.COMPONENT_ID
期望的结果(假设 15 条记录):
1 15 DATA
2 15 DATA
3 15 DATA
etc...
解决方案
我想你想要count(*)
一个窗口函数:
SELECT ROW_NUMBER() OVER (ORDER BY NULL) as rnum,
COUNT(*) OVER () as cnt,
C.ID, C.FIELD1, C."NAME", C.FIELD2, C.FIELD3
FROM SCHEMA.TABLE
WHERE C.IS_CRNT = 1
推荐阅读
- statistics - 频率分析
- javascript - 如何让这个简单的工作程序与 node.js 一起运行?
- node.js - 快速打字稿中的类型“typeof db”续集上不存在属性“用户”
- kubernetes - GKE 中的 metrics-server-nanny 容器的 CPUThrottlingHigh 警报
- spyder - 如何在 Spyder-Notebook 和 Spyder-Terminal 中更改字体大小和缩放级别?
- python - 如何使用 selenium 从网站上抓取评分和所有评论
- typescript - 如何在 TypeScript 中注释某些类(不是实例)的“typeof”继承者?
- linux - 为什么我无法在 Linux 上打开 Visual Studio Code?
- python - 无法导入owlready2模块:得到'sqlite3.OperationalError:没有这样的表:sqlite_schema'错误,'from owlready2 import *'
- wordpress - 为什么此代码无法在前端正确显示?