34 lines
1.5 KiB
XML
34 lines
1.5 KiB
XML
<?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,
|
||
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">
|
||
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
|
||
WHERE stcd = #{stcd} AND tm > #{maxData.tm}
|
||
GROUP BY
|
||
day_date, stcd
|
||
ORDER BY
|
||
day_date desc) d
|
||
</select>
|
||
</mapper>
|