MYSQL查询按月拆分
现在我有一个MYSQL查询,看起来像这样MYSQL查询按月拆分,mysql,Mysql,现在我有一个MYSQL查询,看起来像这样 SELECT distinct devid,username FROM auth_log WHERE MONTH(accesstime) = 1; 这将返回整个一月,这是我想要的。是否可以将一个数组或类似的内容作为一个查询返回一整年或一个日期范围,但按月份分割,这样就不必运行多个查询,如 SELECT distinct devid,username FROM auth_log WHERE MONTH(accesstime) = 1; SELECT d
SELECT distinct devid,username FROM auth_log WHERE MONTH(accesstime) = 1;
这将返回整个一月,这是我想要的。是否可以将一个数组或类似的内容作为一个查询返回一整年或一个日期范围,但按月份分割,这样就不必运行多个查询,如
SELECT distinct devid,username FROM auth_log WHERE MONTH(accesstime) = 1;
SELECT distinct devid,username FROM auth_log WHERE MONTH(accesstime) = 2;
SELECT distinct devid,username FROM auth_log WHERE MONTH(accesstime) = 3;
就这样吧
SELECT DISTINCT
MONTH(accesstime) AccessTimeMonth,
devid,
username
FROM auth_log
你在前端做过滤工作吗
SELECT distinct MONTH(accesstime), devid,username
FROM auth_log
WHERE MONTH(accesstime) in ( 1, 2, 3 )
或
其中月份(访问时间)介于1和
12
从身份验证日志中选择不同的设备、用户名,其中月份(访问时间)>=1和月份(访问时间)只需查询月份范围(无论哪种方法使您的船漂浮),然后按月份/访问时间订购。。。无法获取数组的数组。。但这将是一个按月份排序的结果集。。那么在前端,就让它来解释这个月吧..哦。。并确保将月份添加到结果选择集中,即选择distinct month(accesstime)作为r.month…完美,这样我也可以轻松地绘制它!
SELECT distinct devid, username FROM auth_log WHERE MONTH(accesstime) >= 1 AND MONTH(accesstime) <= 12 ORDER BY MONTH(accesstime);