1 题目:一张课程浏览记录表,字段有:id、课程id、课程名、访问时间、访问学生id,求最近一周之内访问次数最多的课程前5名。
首先限制浏览时间在一周内,where字句。然后分组查询、排序、limit。 select course_id, count(*) as times
from course_record where DATE_SUB(CURDATE(),INTERVAL 7 day) group by course_id order by times DESC limit 5;
2 mysql日期查询
a) date_sub(curdate(),interval 7 unit) 在当前日期基础上减去7天。当然,date_add为增加天数,然后同表中实际字段比较即可。
b) to_days(now()) = to_days(field) ,表示当天。
c) to_days(now()) - to_days(field) = 1,表示昨天。