MySQL数据库时间字段按年月日显示并多字段去重查询

  应用服务长久运行,难免要导出一些统计报表。

  现在有一个日志表,记录了各种日志,需要导出十月份的登录日志,要求时间按日期显示,且每天用户登陆要去重。

  先看日志表的字段构成:

  logType等于2的是登陆日志,时间显示到时分秒,根据需要,这个SQL很简单,大体分两部步:

  1、时间用LEFT(Str,length)函数,截取时间只保留年月日;

  2、用GROUP BY对dt、userName分组;

  按照这个思路,SQL如下:

SELECT  LEFT(s.dt,10) 登陆时间, s.username 登陆用户,s.ip 登陆IP ,s.action 验证方式,s.log 登陆状态 
FROM systemlog s
WHERE dt<='2019-10-31 23:59:59' and dt>='2019-10-01 00:00:00'
and logType=2
GROUP BY LEFT(s.dt,10), s.username

  查询的数据如下

 

   可以看到已完成分组并去重,然后用工具导出查询结果即可。

 

posted @ 2019-11-01 11:18  胜金  阅读(2532)  评论(0编辑  收藏  举报