【发布时间】:2017-05-11 06:19:37
【问题描述】:
请帮助大家。我有我的数据库:
更多...
我想构建一个查询,该查询将对特定页面的特定日期的每一列进行计数。例如,第 1 页有 12 月 25 日和 12 月 26 日的访问,但我想计算 26 日的每次访问。
即使使用纯 MySQL 也有人可以帮助我吗?
【问题讨论】:
请帮助大家。我有我的数据库:
更多...
我想构建一个查询,该查询将对特定页面的特定日期的每一列进行计数。例如,第 1 页有 12 月 25 日和 12 月 26 日的访问,但我想计算 26 日的每次访问。
即使使用纯 MySQL 也有人可以帮助我吗?
【问题讨论】:
您可以使用 whereDate 和 groupBy 来做到这一点:
Model::select('*', DB::raw('count(*) as count'))
->whereDate('created_at', '=', '2016-12-26')
->groupBy('page_id')
->get();
或者您也可以使用查询生成器:
DB::table('table_name')
->select('*', DB::raw('count(*) as count'))
->whereDate('created_at', '=', '2016-12-26')
->groupBy('page_id')
->get();
【讨论】:
此查询将为您提供特定页面在特定日期有多少访问者。我不确定这是否是您的目标,但这就是我从问题中理解的。
SELECT DATE(created_at) AS date_visited, page_id, COUNT(1) AS visits
FROM your_table_name
GROUP BY DATE(created_at), page_id
作为解释 - 这是一个基本的 GROUP BY 用法,如果您不熟悉这些,可以参考 MySQL 文档http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html。它与 Laravel 无关。
【讨论】: