|
@@ -187,46 +187,67 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
</select>
|
|
|
<select id="selectTXlhtAddRecordDayList" parameterType="TXlhtAddRecord" resultMap="TXlhtAddRecordResult">
|
|
|
SELECT
|
|
|
- rec_day.day_time AS create_time,
|
|
|
- sec_day.instant_one_amount,
|
|
|
- sec_day.instant_two_amount,
|
|
|
- rec_day.one_amount,
|
|
|
- rec_day.two_amount,
|
|
|
- rec_day.tmp_one_amount,
|
|
|
- rec_day.tmp_two_amount,
|
|
|
- rec_day.real_one_amount,
|
|
|
- rec_day.real_two_amount
|
|
|
- FROM (
|
|
|
+ CAST(t.create_time AS DATE) AS create_time,
|
|
|
+ SUM(t.instant_one_amount) AS instant_one_amount,
|
|
|
+ SUM(t.instant_two_amount) AS instant_two_amount,
|
|
|
+ SUM(t.one_amount) AS one_amount,
|
|
|
+ SUM(t.two_amount) AS two_amount,
|
|
|
+ SUM(t.tmp_one_amount) AS tmp_one_amount,
|
|
|
+ SUM(t.tmp_two_amount) AS tmp_two_amount,
|
|
|
+ SUM(t.real_one_amount) AS real_one_amount,
|
|
|
+ SUM(t.real_two_amount) AS real_two_amount
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ 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
|
|
|
- CAST(create_time AS DATE) AS day_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
|
|
|
+ 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 CAST(create_time AS DATE) >= #{timeBegin}</if>
|
|
|
- <if test="timeEnd != null and timeEnd != ''"> and CAST(create_time AS DATE) <= #{timeEnd}</if>
|
|
|
+ <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 CAST(create_time AS DATE)
|
|
|
- ) AS rec_day
|
|
|
+ GROUP BY
|
|
|
+ DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0)
|
|
|
+ ) AS rec_hour
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
- CAST(create_time AS DATE) AS day_time,
|
|
|
+ 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
|
|
|
+ FROM
|
|
|
+ t_xlht_add_record_sec
|
|
|
<where>
|
|
|
1 = 1
|
|
|
- <if test="timeBegin != null and timeBegin != ''"> and CAST(create_time AS DATE) >= #{timeBegin}</if>
|
|
|
- <if test="timeEnd != null and timeEnd != ''"> and CAST(create_time AS DATE) <= #{timeEnd}</if>
|
|
|
+ <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 CAST(create_time AS DATE)
|
|
|
- ) AS sec_day
|
|
|
- ON sec_day.day_time = rec_day.day_time
|
|
|
- order by rec_day.day_time desc;
|
|
|
+ GROUP BY
|
|
|
+ DATEADD(HOUR, DATEDIFF(HOUR, 0, create_time), 0)
|
|
|
+ ) AS sec_hour
|
|
|
+ ON sec_hour.hour_time = rec_hour.hour_time
|
|
|
+ ) t
|
|
|
+ GROUP BY
|
|
|
+ CAST(t.create_time AS DATE)
|
|
|
+ ORDER BY
|
|
|
+ CAST(t.create_time AS DATE) DESC
|
|
|
</select>
|
|
|
</mapper>
|