这是因为错误数据的原因,所以加上了group by 去去除重复的值
SELECT COUNT(p2.report_id)
FROM (
SELECT p.report_id
FROM (
SELECT pr.report_id
FROM project_report pr
where
proj_id = 731
and report_id < 128
and delete_flag = 0
) p
GROUP BY p.report_id
) p2
正常情况下,应该是:
SELECT COUNT(*)
FROM project_report pr
where
proj_id = 731
and report_id < 128
and delete_flag = 0
因为update,和delete是假改,假删,没办法记录时间排序。
但是数据库的report_id后插入的是比先插入的数据要大的。
原始的case排序 是 case 1 2 3 4 5,
修改2后,为:1 3 4 5
查5的序号,通过上述sql查出来,的结果+1,就是5的索引