神奇的更改序号

这是因为错误数据的原因,所以加上了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后插入的是比先插入的数据要大的。(id是自增的,reportId是不变的)
原始的case排序 是 case 1 2 3 4 5,
修改2后,为:1 3 4 5
查5的序号,通过上述sql查出来,的结果+1,就是5的索引

posted @ 2023-02-02 11:41  Chenyi_li  阅读(20)  评论(0)    收藏  举报