这个是报错版,会叫你添加jdbcType=varchar/number等
<select id="DOpenStatlist" parameterType="page" resultType="pd">
SELECT
DATE_FORMAT(START_TIME,'%Y-%m-%d') STARTTIME,<!-- 开始时间 -->
DATE_FORMAT(END_TIME,'%Y-%m-%d') ENDTIME,<!-- 结束时间 -->
COUNT(room_id) COUNT
FROM
result
GROUP BY
DATE_FORMAT(START_TIME,'%Y-%m-%d')
HAVING
1=1
<if test="pd.lastStart !=null and pd.lastStart !=''">
and
DATE_FORMAT(START_TIME,'%Y-%m-%d') >= #{pd.lastStart}
</if>
<if test="pd.lastEnd !=null and pd.lastEnd !=''">
and
DATE_FORMAT(END_TIME,'%Y-%m-%d') <= #{pd.lastEnd}
</if>
ORDER BY
DATE_FORMAT(START_TIME,'%Y-%m-%d')
DESC
</select>
这个是没有报jdbcType错误的。其原因该是性能问题,将GROUP BY 移至后面。
<select id="DOpenStatlist" parameterType="page" resultType="pd">
SELECT
DATE_FORMAT(START_TIME,'%Y-%m-%d') STARTTIME,<!-- 开始时间 -->
DATE_FORMAT(END_TIME,'%Y-%m-%d') ENDTIME,<!-- 结束时间 -->
COUNT(room_id) COUNT
FROM
result
WHERE
1=1
<if test="pd.lastStart !=null and pd.lastStart !=''">
and
DATE_FORMAT(START_TIME,'%Y-%m-%d') >= #{pd.lastStart}
</if>
<if test="pd.lastEnd !=null and pd.lastEnd !=''">
and
DATE_FORMAT(END_TIME,'%Y-%m-%d') <= #{pd.lastEnd}
</if>
GROUP BY
DATE_FORMAT(START_TIME,'%Y-%m-%d')
ORDER BY DATE_FORMAT(START_TIME,'%Y-%m-%d') DESC
</select>
警戒!