|
@@ -143,46 +143,63 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
|
|
|
<select id="selectTXlhtAddRecordHourList" parameterType="TXlhtAddRecord" resultMap="TXlhtAddRecordResult">
|
|
|
SELECT
|
|
|
- rec_hour.hour_time AS create_time,
|
|
|
- sec_hour.instant_one_amount,
|
|
|
- sec_hour.instant_two_amount,
|
|
|
- rec_hour.one_amount,
|
|
|
- rec_hour.two_amount,
|
|
|
- rec_hour.tmp_one_amount,
|
|
|
- rec_hour.tmp_two_amount,
|
|
|
- rec_hour.real_one_amount,
|
|
|
- rec_hour.real_two_amount
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) AS hour_time,
|
|
|
- avg(one_amount) AS one_amount,
|
|
|
- avg(two_amount) AS two_amount,
|
|
|
- avg(tmp_one_amount) AS tmp_one_amount,
|
|
|
- avg(tmp_two_amount) AS tmp_two_amount,
|
|
|
- avg(real_one_amount) AS real_one_amount,
|
|
|
- avg(real_two_amount) AS real_two_amount
|
|
|
- FROM t_xlht_add_record
|
|
|
- <where>
|
|
|
- 1 = 1
|
|
|
- <if test="timeBegin != null and timeBegin != ''"> and DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) >= #{timeBegin}</if>
|
|
|
- <if test="timeEnd != null and timeEnd != ''"> and DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) <= #{timeEnd}</if>
|
|
|
- </where>
|
|
|
- GROUP BY DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0)
|
|
|
- ) AS rec_hour
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) AS hour_time,
|
|
|
- AVG(one_amount) AS instant_one_amount,
|
|
|
- AVG(two_amount) AS instant_two_amount
|
|
|
- FROM t_xlht_add_record_sec
|
|
|
- <where>
|
|
|
- 1 = 1
|
|
|
- <if test="timeBegin != null and timeBegin != ''"> and DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) >= #{timeBegin}</if>
|
|
|
- <if test="timeEnd != null and timeEnd != ''"> and DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) <= #{timeEnd}</if>
|
|
|
- </where>
|
|
|
- GROUP BY DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0)
|
|
|
- ) AS sec_hour
|
|
|
- ON sec_hour.hour_time = rec_hour.hour_time
|
|
|
+ rec_hour.hour_time AS create_time,
|
|
|
+ sec_hour.instant_one_amount,
|
|
|
+ sec_hour.instant_two_amount,
|
|
|
+ sec_hour.calculus_one_amount,
|
|
|
+ sec_hour.calculus_two_amount,
|
|
|
+ rec_hour.one_amount,
|
|
|
+ rec_hour.two_amount,
|
|
|
+ rec_hour.tmp_one_amount,
|
|
|
+ rec_hour.tmp_two_amount,
|
|
|
+ rec_hour.real_one_amount,
|
|
|
+ rec_hour.real_two_amount
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) AS hour_time,
|
|
|
+ AVG(one_amount) AS one_amount,
|
|
|
+ AVG(two_amount) AS two_amount,
|
|
|
+ AVG(tmp_one_amount) AS tmp_one_amount,
|
|
|
+ AVG(tmp_two_amount) AS tmp_two_amount,
|
|
|
+ AVG(real_one_amount) AS real_one_amount,
|
|
|
+ AVG(real_two_amount) AS real_two_amount
|
|
|
+ FROM
|
|
|
+ t_xlht_add_record
|
|
|
+ <where>
|
|
|
+ 1 = 1
|
|
|
+ <if test="timeBegin != null and timeBegin != ''"> and DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) >= #{timeBegin}</if>
|
|
|
+ <if test="timeEnd != null and timeEnd != ''"> and DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) <= #{timeEnd}</if>
|
|
|
+ </where>
|
|
|
+ GROUP BY
|
|
|
+ DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0)) AS rec_hour
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) AS hour_time,
|
|
|
+ AVG(one_amount) AS instant_one_amount,
|
|
|
+ AVG(two_amount) AS instant_two_amount,
|
|
|
+ AVG(calculus_one_amount) AS calculus_one_amount,
|
|
|
+ AVG(calculus_two_amount) AS calculus_two_amount
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ a.ID,
|
|
|
+ a.one_amount,
|
|
|
+ a.two_amount,
|
|
|
+ a.create_time,
|
|
|
+ ((a.one_amount + b.one_amount) / 2.0) AS calculus_one_amount,
|
|
|
+ ((a.two_amount + b.two_amount) / 2.0) AS calculus_two_amount
|
|
|
+ FROM
|
|
|
+ t_xlht_add_record_sec a
|
|
|
+ LEFT JOIN t_xlht_add_record_sec b ON b.create_time = (SELECT MAX(create_time) FROM t_xlht_add_record_sec WHERE create_time < a.create_time)) AS sec
|
|
|
+ <where>
|
|
|
+ 1 = 1
|
|
|
+ <if test="timeBegin != null and timeBegin != ''"> and DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) >= #{timeBegin}</if>
|
|
|
+ <if test="timeEnd != null and timeEnd != ''"> and DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0) <= #{timeEnd}</if>
|
|
|
+ </where>
|
|
|
+ GROUP BY
|
|
|
+ DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0)
|
|
|
+ ) AS sec_hour ON sec_hour.hour_time = rec_hour.hour_time
|
|
|
order by rec_hour.hour_time desc
|
|
|
</select>
|
|
|
<select id="selectTXlhtAddRecordDayList" parameterType="TXlhtAddRecord" resultMap="TXlhtAddRecordResult">
|