oracle添加序号列大全(3种方法)

场景:oracle在展示数据时,用户需要看到当前记录数,添加序号即可,适用于表格导出。
方式一:添加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)将其转为数值型即可

方式二: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函数,简单方便,oracle独有

方式三:row_number()函数

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也可以使用)

本人正在打造技术交流群,欢迎志同道合的朋友一起探讨,一起努力,通过自己的努力,在技术岗位这条道路上走的更远。QQ群号:914683950 备注:技术交流 即可通过!

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值