常用mysql语句
MYSQL查询今天、昨天、7天前、30天、本月数据 查询当天数据--CURDATE()函数和DATE()函数 CURDATE() = DATE(时间字段名) 查询当月数据--DATA_FORMAT()函数和NOW()函数 DATE_FORMAT(时间字段名, '%Y-%m') = DATE_FORMAT(now(), '%Y-%m') 查询今天: SELECT * FROM 表名 WHERE TO_DAYS( 时间字段名) = TO_DAYS(NOW()); 查询昨天: SELECT * FROM 表名 WHERE (TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名)) <= 1; 查询7天前: SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= DATE(时间字段名); 查询30天: SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= DATE(时间字段名); 查询本月: SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ); -- Mysql去重复字段(DISTINCT--所有字段内容都一样,Mysql才会认为是一条重复数据,否则不会去重) SELECT DISTINCT CURDATE(), v.USERNAME, v.TRUENAME FROM v_user_info v LEFT JOIN crm_department d ON v.AGENT_SID = d.sid LEFT JOIN crm_contract c ON v.USERNAME = c.directorAccount WHERE CURDATE() = DATE(c.createTime) GROUP BY v.USERNAME
使用Mysql语句查询一天中每个小时数据的数量统计 SELECT HOUR ( e.create_time ) AS HOUR, count( * ) AS Count FROM contract_order e WHERE e.create_time between '2019-10-11' and '2019-10-12' GROUP BY HOUR ( e.create_time ) ORDER BY HOUR ( e.create_time );
查询出的每个小时的结果如下图: