sql 经验

1.取数据最新一条:

a.两个表联查,MAX的方式

b.用ROW_NUMBER(),取RN=1的方式

做项目发现:ROW_NUMBER()方式优于MAX

ROW_NUMBER() OVER (PARTITION BY ID, _NAME ORDER BY STARTTIME DESC ) RN

2.标签的使用

标签最好跟着 判断空的操作,否则报错

  <if test="list!=null">
                    
     <foreach collection="list" item="obj" index="index">
          OR
           (
            PROCE = '${obj.objma}'
              AND PRONAME = '${obj.na}'
            )
     </foreach>
        )
    </if>

3.标签有时可以换做with操作

WITH TARGET_NAME AS (
select ''   AS PROCE,
''   AS PRONAME
from dual
<if test="list!=null">
<foreach collection="list" item="obj" index="index">
    union all
    select '${obj.objma}' AS PROCE,
    '${obj.na}' AS PRONAME
    from dual
</foreach>
</if>
)
posted @ 2022-02-10 10:52  码农公子的幸福生活  阅读(32)  评论(0)    收藏  举报