<?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.ruoyi.equipmentenergyconsumption.mapper.EquipmentEnergyConsumptionMapper">
|
|
<select id="listPage" resultType="com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption">
|
select * from equipment_energy_consumption
|
where 1=1
|
<if test="req.name != null and req.name != ''">
|
and `name` like concat('%',#{req.name},'%')
|
</if>
|
</select>
|
<select id="listPageByTrend" resultType="com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption">
|
<!--
|
原来是 `SELECT *, day_num AS toDayNum ... GROUP BY code`。
|
MySQL 8 的默认 sql_mode 含 ONLY_FULL_GROUP_BY:SELECT 列表里的非聚合列
|
既不在 GROUP BY 中、也没被聚合函数包住时会直接报错 ——
|
Expression #1 of SELECT list is not in GROUP BY clause and contains
|
nonaggregated column ... which is not functionally dependent on columns
|
in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
|
这里按 `code` 分组取一行,其余列统一用 ANY_VALUE() 包起来即可。
|
-->
|
SELECT
|
`code`,
|
ANY_VALUE(id) AS id,
|
ANY_VALUE(`name`) AS `name`,
|
ANY_VALUE(power_rating) AS power_rating,
|
ANY_VALUE(power_actual) AS power_actual,
|
ANY_VALUE(day_num) AS day_num,
|
ANY_VALUE(day_num) AS toDayNum,
|
ANY_VALUE(sum_num) AS sum_num,
|
ANY_VALUE(every_num) AS every_num,
|
ANY_VALUE(run_date) AS run_date,
|
ANY_VALUE(electricity_consumption_area_id) AS electricity_consumption_area_id,
|
ANY_VALUE(create_time) AS create_time,
|
ANY_VALUE(update_time) AS update_time,
|
ANY_VALUE(create_user) AS create_user,
|
ANY_VALUE(tenant_id) AS tenant_id,
|
ANY_VALUE(dept_id) AS dept_id
|
FROM
|
equipment_energy_consumption
|
WHERE
|
run_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
|
<if test="req.name != null and req.name != ''">
|
and `name` like concat('%',#{req.name},'%')
|
</if>
|
GROUP BY
|
`code`
|
ORDER BY
|
ANY_VALUE(update_time) DESC
|
</select>
|
</mapper>
|