select count(1),DATE_FORMAT(d.create_time,'%Y-%m-%d') from t_hsj_driver d left join t_hsj_user u on d.driver_mobile = u.account where d.effective = 1 GROUP BY DATE_FORMAT(d.create_time,'%Y-%m-%d') descselect * from (select count(1),DATE_FORMAT(d.create_time,'%Y-%m-%d') from t_hsj_driver where effective=1) a left join t_hsj_user u on d.driver_mobile = u.account GROUP BY DATE_FORMAT(d.create_time,'%Y-%m-%d') desc
贴出 explain select ...
SQL优化,不仅仅只是语句的问题,索引与表的设计、数据量、数据库的配置等很多因素都有影响,这这句语句是看不出什么问题的SELECT Count(1), Date_format(d.create_time, '%Y-%m-%d') FROM t_hsj_driver d LEFT JOIN t_hsj_user u ON d.driver_mobile = u.account WHERE d.effective = 1 GROUP BY Date_format(d.create_time, '%Y-%m-%d') DESC
left join t_hsj_user u on d.driver_mobile = u.account
where d.effective = 1
GROUP BY DATE_FORMAT(d.create_time,'%Y-%m-%d') descselect * from (select count(1),DATE_FORMAT(d.create_time,'%Y-%m-%d') from t_hsj_driver where effective=1) a left join t_hsj_user u on d.driver_mobile = u.account GROUP BY DATE_FORMAT(d.create_time,'%Y-%m-%d') desc
Date_format(d.create_time, '%Y-%m-%d')
FROM t_hsj_driver d
LEFT JOIN t_hsj_user u
ON d.driver_mobile = u.account
WHERE d.effective = 1
GROUP BY Date_format(d.create_time, '%Y-%m-%d') DESC