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

  查询的数据如下

 

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM