應用服務長久運行,難免要導出一些統計報表。
現在有一個日志表,記錄了各種日志,需要導出十月份的登錄日志,要求時間按日期顯示,且每天用戶登陸要去重。
先看日志表的字段構成:
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
查詢的數據如下
可以看到已完成分組並去重,然后用工具導出查詢結果即可。