Mybatis查询一段时间内数据,按时间分组,返回时间格式化sql问题
日常查询中sql语句中会带有时间段的条件查询,我举例的数据库中storage_time表示的是时间,storage_channel可以当做商品类型
查询出来返回时间
根据时间分组
完整的sql
查询得出的数据
时间分组效果不是我想要的,12号这一天因为时刻的不同当天又被分成了很多个组,而且查询结果时间这一列格式也不是我想要的,显示的时候把时分秒去掉,所以在显示的时候可以加上格式化
时间格式化:
date_format(storage_time,'%Y-%m-%d') t
更改之后的sql为,storage_time起别名t
查询结果为,现在就不带时分秒了
但是这样去使用在mybatis上会出现问题,接收不到数据,查询出来后返回的时间是null,这让我很奇怪,想了各种办法行不通,但我们依然还是要根据当天的时间分组,分析问题出在查询列表上,显示的时候不能进行时间格式化,分组的时候需要格式化后的时间分组
更新查询sql
查询结果
根据查询结果可以看出虽然还是带着时分秒,但是分组下来的结果是正确的,是根据当天的几号分组的,当然返回到业务层的数据也是带着时分秒的,既然已经拿到正确的数据,在业务层或者你的控制层对数据进行一下处理就行。
假如这里拿出第一条数据的时间,截取前10位字符,处理完之后,再封装返回到前端就可以了