Mysql 根据上传问题查找教师月报

Mysql 根据上传问题查找教师月报,mysql,database,laravel,Mysql,Database,Laravel,我正在一个门户网站上工作,在那里老师们可以把问题上传到数据库上。我想计算一份报告,哪位老师当天上传了多少个问题,并显示月报 问题表 我想要结果 我试过代码 SELECT * FROM questions WHERE created_at > DATE_SUB(NOW(), INTERVAL 1 DAY) ORDER BY id DESC 您需要在此处使用2个函数: 及 您的SQL将如下所示 SELECT count(id) AS question_count, DATE(create

我正在一个门户网站上工作,在那里老师们可以把问题上传到数据库上。我想计算一份报告,哪位老师当天上传了多少个问题,并显示月报

问题表

我想要结果

我试过代码

SELECT * FROM questions WHERE created_at > DATE_SUB(NOW(), INTERVAL 1 DAY) ORDER BY id DESC

您需要在此处使用2个函数: 及

您的SQL将如下所示

SELECT count(id) AS question_count, DATE(created_at) AS date 
FROM questions 
WHERE created_at > LAST_DAY(NOW() - INTERVAL 1 MONTH) AND created_at < LAST_DAY(NOW()) + INTERVAL 1 DAY AND user_id = 45 
GROUP BY DATE(created_at) 
ORDER BY id ASC
选择计数(id)作为问题计数,选择日期(创建日期)作为日期
从问题
其中创建时间>最后一天(现在()-间隔1个月),创建时间<最后一天(现在())+间隔1天,用户id=45
按日期分组(创建时间)
按id订购ASC

注意在第二种情况下,间隔1天不在最后一天功能范围内

您是否有日历/日期表,如果没有,您是否愿意创建一个日历/日期表来帮助填写未发生上传的日期?谢谢,它的工作,但我希望为空或o(零)如果老师没有在那个日期上传,问题列将被删除。这将使查询复杂化。我注意到您标记了Laravel,在从数据库获得结果后,您可以在Laravel中使用简单的循环来完成这一部分。