oracle添加序號列3種方法大全
場景:oracle在展示數(shù)據(jù)時,用戶需要看到當(dāng)前記錄數(shù),添加序號即可,適用于表格導(dǎo)出。
方式一:添加xh字段
SELECT fxh, fmc, round( ( sum( fczsrbnljzxs ) - sum( fczsrsntqs ) ) / 10000, 2 ) AS 增減額 , round( sum( fczsrbnljzxs ) / 10000, 2 ) AS 財政收入 , round( sum( fczsrbsn ), 2 ) AS 增減幅度 , f_sys_year FROM zhzs_bill_qqczsrfjwcqk WHERE f_sys_year = '2021' AND f_sys_month = '12' GROUP BY fxh, fmc, f_sys_year ORDER BY to_number( fxh )
效果圖:
SQL解讀:此條在select后添加xh,group by后添加xh分組,以及用order by排序,to_number(xh)將其轉(zhuǎn)為數(shù)值型即可
方式二:oracle自帶
select ROWNUM as fxh,a.* from ( SELECT fmc , round((sum(fczsrbnljzxs) - sum(fczsrsntqs)) / 10000, 2) AS 增減額 , round(sum(fczsrbnljzxs) / 10000, 2) AS 財政收入 , round(sum(fczsrbsn), 2) AS 增減幅度 , f_sys_year FROM zhzs_bill_qqczsrfjwcqk WHERE f_sys_year = '2021' AND f_sys_month = '12' GROUP BY fmc, f_sys_year ) a
效果圖
SQL解讀:此方法使用自帶的ROWNUM函數(shù),簡單方便,oracle獨有
方式三:row_number()函數(shù)
SELECT row_number() over(order by fmc) as xh,fmc , round((sum(fczsrbnljzxs) - sum(fczsrsntqs)) / 10000, 2) AS 增減額 , round(sum(fczsrbnljzxs) / 10000, 2) AS 財政收入 , round(sum(fczsrbsn), 2) AS 增減幅度 , f_sys_year FROM zhzs_bill_qqczsrfjwcqk WHERE f_sys_year = '2021' AND f_sys_month = '12' GROUP BY fmc, f_sys_year
效果圖
SQL解讀:此方法通用(mysql也可以使用)
附:Oracle使用row_number()函數(shù)查詢時增加序號列
使用Oracle自帶的row_number()函數(shù)能夠?qū)崿F(xiàn)自動增加序號列的要求,但是同時引發(fā)一個問題,如果我們查詢出來的數(shù)據(jù)需要使用Order By排序的話,那么我們會發(fā)現(xiàn)新增加的序號列是亂序的,它會根據(jù)我們Order By后面的字段重新排序,那么怎么解決這一問題呢。
很簡單,我們再加上根據(jù)Order By排序就可以了。
select row_number() over(ORDER BY t.taskcreatetime), t.ACTIVITYNAME, t.TASKTYPE from t_sys_flow_task t ORDER BY t.taskcreatetime;
查詢結(jié)果如下:
總結(jié)
到此這篇關(guān)于oracle添加序號列3種方法的文章就介紹到這了,更多相關(guān)oracle添加序號列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
oracle—SQL技巧之(一)連續(xù)記錄查詢sql案例測試
有這樣一個需求:需要查詢出某個客戶某一年那些天是有連續(xù)辦理過業(yè)務(wù),本文給予sql實現(xiàn)語句并測試,感興趣的朋友可以了解下2013-01-01Oracle通過procedure調(diào)用webservice接口的全過程
存儲過程是一組為了完成特定功能的sql語句集合,經(jīng)過編譯后存儲在數(shù)據(jù)庫中,用戶通過制定存儲過程的名字并給出參數(shù)(如果該過程帶有參數(shù))來執(zhí)行他,本文介紹了Oracle通過procedure調(diào)用webservice接口的全過程,需要的朋友可以參考下2024-07-07SQL Server、Oracle和MySQL判斷NULL的方法
本文講述SQL Server、Oracle、MySQL查出值為NULL的替換,在SQL Server Oracle MySQL當(dāng)數(shù)據(jù)庫中查出某值為NULL怎么辦2012-11-11oracle 創(chuàng)建字段自增長實現(xiàn)方式
這篇文章主要介紹了oracle 創(chuàng)建字段自增長實現(xiàn)方式的相關(guān)資料,需要的朋友可以參考下2016-10-10WMware redhat 5 oracle 11g 安裝方法
本文將詳細介紹WMware中redhat 5 安裝oracle 11g方法,需要的朋友可以參考下2012-12-12Oracle數(shù)據(jù)庫更新大批量數(shù)據(jù)案例
今天小編就為大家分享一篇關(guān)于Oracle數(shù)據(jù)庫更新大批量數(shù)據(jù)案例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10