oracle-给查询结果加上一列序号
可以用到ROWNUM,用法如下:
SELECT ROWNUM,
a.workcenter,
a.model_code modelCode,
a.part_no partNo,
a.data_type
FROM XXXXXX a
WHERE a.deal_flag = 1
ORDER BY a.data_type, a.workcenter
此时可以看到,虽然有序号了,但是序号受到其他字段排序的影响导致序号并没有顺序排列。
那我们可以进行一个嵌套即可解决:
SELECT ROWNUM, s.*
FROM (SELECT a.workcenter,
a.model_code modelCode,
a.part_no partNo,
a.data_type
FROM XXXXXX a
WHERE a.deal_flag = 1
ORDER BY a.data_type, a.workcenter) s
自己遇到的使用场景: 有一个日志表,它本身没必要搞一列id,它的id列是记录着业务表的id的,所以在查询的时候id会有重复项。若是前端使用了element ui的表格,会有因为有重复序列项而导致表格无法渲染卡死的情况,此时加上一列序号作为id返回到前端即可。