日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle给每行加上序号,Oracle 根据分类字段给查询结果添加序号

發布時間:2024/6/1 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle给每行加上序号,Oracle 根据分类字段给查询结果添加序号 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、分類排序

SELECT ROW_NUMBER() OVER(PARTITION BY T.CLASS_NAME ORDER BY T.SCORE) AS IDX, T.* FROM TB_SCORE T;

二、分類逐行統計

SELECT SUM(T.STU_NUM) OVER(PARTITION BY T.CLASS_NAME ORDER BY T.SCORE DESC) AS IDX, T.* FROM TB_SCORE T;

PS:純SQL實現分類排序

--==============================================

-- 根據分類字段給記錄添加遞增或遞減序號

--============================================

SELECT RN, IDX, YEAR_S, RELEASE_TIME FROM (

-- 獲取分類后的序號 IDX

SELECT (

SELECT COUNT(1) FROM (

-- 獲取排序序號 RN, 得到臨時表二

SELECT T.*, ROWNUM AS RN FROM (

-- 獲取分類字段 YEAR_S

SELECT TO_CHAR(T.RELEASE_TIME, 'YYYY') AS YEAR_S, T.* FROM TABLE_NAME T ORDER BY T.RELEASE_TIME

) T

) WHERE YEAR_S=T1.YEAR_S AND RN <= T1.RN -- 重點: 臨時表一和臨時表二關聯, 分類字段相同, 統計表二排序字段小于等于當前記錄排序字段的記錄數; RN >= T1.RN 則遞減

) AS IDX, T1.* FROM (

-- 獲取排序序號 RN, 得到臨時表一

SELECT T.*, ROWNUM AS RN FROM (

-- 獲取分類字段 YEAR_S

SELECT TO_CHAR(T.RELEASE_TIME, 'YYYY') AS YEAR_S, T.* FROM TABLE_NAME T ORDER BY T.RELEASE_TIME

) T

) T1

) WHERE IDX <= 3 ORDER BY RELEASE_TIME

總結

以上是生活随笔為你收集整理的oracle给每行加上序号,Oracle 根据分类字段给查询结果添加序号的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。