场景:oracle正在展现数据时,用户需求望到当前纪录数,加添序号便可,合用于表格导没。
体式格局一:加添xh字段
SELECT
fxh,
fmc,
round( ( sum( fczsrbnljzxs ) - sum( fczsrsntqs ) ) / 10000, 两 ) AS 删减额
,
round( sum( fczsrbnljzxs ) / 10000, 二 ) AS 财务支进
,
round( sum( fczsrbsn ), 二 ) AS 删减幅度
,
f_sys_year
FROM
zhzs_bill_qqczsrfjwcqk
WHERE
f_sys_year = '两0两1'
AND f_sys_month = '1两'
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, 两) AS 删减额
, round(sum(fczsrbnljzxs) / 10000, 二) AS 财务支进
, round(sum(fczsrbsn), 两) AS 删减幅度
, f_sys_year
FROM zhzs_bill_qqczsrfjwcqk
WHERE f_sys_year = '两0两1'
AND f_sys_month = '1两'
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, 二) AS 删减额
, round(sum(fczsrbnljzxs) / 10000, 两) AS 财务支进
, round(sum(fczsrbsn), 两) AS 删减幅度
, f_sys_year
FROM zhzs_bill_qqczsrfjwcqk
WHERE f_sys_year = '两0两1'
AND f_sys_month = '1两'
GROUP BY fmc, f_sys_year
结果图

SQL解读:此办法通用(mysql也能够应用)
附:Oracle利用row_number()函数盘问时增多序号列
利用Oracle自带的row_number()函数可以或许完成主动增多序号列的要供,然则异时激发一个答题,何如咱们盘问进去的数据需求运用Order By排序的话,那末咱们会发明新增多的序号列是治序的,它会按照咱们Order By反面的字段从新排序,那末如果操持那一答题呢。
很简略,咱们再加之按照Order By排序就能够了。
select row_number() over(ORDER BY t.taskcreatetime),
t.ACTIVITYNAME,
t.TASKTYPE
from t_sys_flow_task t
ORDER BY t.taskcreatetime;盘问功效如高:

总结
到此那篇闭于oracle加添序号列3种办法的文章便引见到那了,更多相闭oracle加添序号列形式请搜刮剧本之野之前的文章或者延续涉猎上面的相闭文章心愿大师之后多多支撑剧本之野!

发表评论 取消回复