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
查询的数据如下
可以看到已完成分组并去重,然后用工具导出查询结果即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具