gunshi-project-ss/src/main/resources/mapper/StPptnRDMapper.xml

34 lines
1.5 KiB
XML
Raw Normal View History

2024-07-08 17:47:02 +08:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gunshi.project.xyt.mapper.StPptnRDMapper">
<select id="getStcdLastPptnDayData" resultType="com.gunshi.project.xyt.model.StPptnRD">
SELECT stb.stcd,
2024-08-16 18:02:44 +08:00
stb.adcd,
r.tm stm
FROM public.st_stbprp_b stb
LEFT JOIN (SELECT *
FROM (SELECT *, ROW_NUMBER() OVER ( PARTITION BY stcd ORDER BY tm DESC ) AS rn FROM public.st_pptn_r_d) subquery
WHERE subquery.rn = 1) r ON stb.stcd = r.stcd
WHERE stb.source = 'SK'
</select>
<select id="getMaxData" resultType="com.gunshi.project.xyt.model.StPptnRD">
2024-09-23 17:30:37 +08:00
SELECT #{stcd} stcd, COALESCE(max(tm), '2021-01-01 00:00:00') tm FROM st_pptn_r_d WHERE stcd = #{stcd}
</select>
<select id="reorganizePptnRDData" resultType="com.gunshi.project.xyt.model.StPptnRD">
select d.stcd, to_char(d.day_date, 'YYYY-MM-DD 00:00:00') tm, d.drp
from (SELECT stcd,
-- 计算分组键直接调整时间戳以8点为基准
DATE_TRUNC('day', tm - INTERVAL '8 hour' - INTERVAL '1 second') + INTERVAL '8 hour' AS day_date, sum (drp) AS drp
FROM
st_pptn_r
2024-09-23 17:30:37 +08:00
WHERE stcd = #{stcd} AND tm > #{maxData.tm}
GROUP BY
day_date, stcd
ORDER BY
day_date desc) d
</select>
2024-07-08 17:47:02 +08:00
</mapper>