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 @   胜金  阅读(2549)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示