一、根据日期按天分组查询倒序
//mapper
public List<Date> dateByPatientId(FollowScheme followScheme);
<select id="dateByPatientId" parameterType="com.ruoyi.follow.domain.FollowScheme" resultType="java.util.Date">SELECT DATE(create_time) as create_time FROM follow_schemeWHERE platform_id = #{platformId} AND patient_id = #{patientId}GROUP BY DATE(create_time)ORDER BY MAX(create_time) DESC;</select>
总结:
- 查询结果为日期集合,java用List<Date>接收,MyBatis配置resultType="java.util.Date"
- 库中的create_time有具体的时分秒,按天分组转化函数DATE(create_time)
- 分组按日期倒序,最新的日期放在最上面ORDER BY MAX(create_time) DESC
二、查询指定日期的记录
<select id="listByPatientId" parameterType="com.ruoyi.follow.domain.FollowScheme" resultMap="FollowSchemeResult"><include refid="selectFollowSchemeVo"/>where platform_id = #{platformId} AND patient_id = #{patientId} AND DATE(create_time) = #{createTime}</select>
总结:
- 传进来的参数是天,条件DATE(create_time) = #{createTime}