MYSQL查询按月拆分

时间:2011-03-09 14:50:06

标签: mysql

目前我有一个看起来像这样的MYSQL查询...

 SELECT distinct devid,username FROM auth_log WHERE MONTH(accesstime) = 1;

这将返回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;

3 个答案:

答案 0 :(得分:1)

如何获得

SELECT DISTINCT
    MONTH(accesstime) AccessTimeMonth, 
    devid,
    username 
FROM auth_log

并在前端进行过滤工作?

答案 1 :(得分:0)

SELECT distinct MONTH(accesstime), devid,username 
   FROM auth_log 
   WHERE MONTH(accesstime) in ( 1, 2, 3 )

其中月份(访问时间)介于1和

之间

12

答案 2 :(得分:0)

SELECT distinct devid, username FROM auth_log WHERE MONTH(accesstime) >= 1 AND MONTH(accesstime) <= 12 ORDER BY MONTH(accesstime); 

可以清理..但只是可以使用的许多变体之一