我有两个表user_profile
和tracked_search
。 user_profile
表具有用户详细信息,tracked_search
跟踪用户进行的搜索。获取所有日期以及来自表格的数据
每当用户进行搜索时,此搜索条目将进入tracked_search
表。如果没有搜索到任何特定日期,则tracked_search
中不会添加任何内容。
我需要开发一个报告,我需要在每个月的所有日子显示有多少用户进行搜索。
例如
Date user_count
2017-10-1 4
2017-10-2 0
2017-10-3 0
2017-10-4 3
.
.
2017-10-31 5
我已经写了下面的查询
SELECT ts.created , count(distinct ts.user_id) FROM tracked_search ts, user_profile u
WHERE ts.created>=(CURDATE()-INTERVAL 1 MONTH) AND u.id = ts.user_id
group by ts.created;
,但我得到
Date user_count
2017-10-1 4
2017-10-4 3
我需要打印所有天的值,如果没有条目是有一个特定的日期应该是零。
我正在使用mysql。
事项一般在应用程序代码中最好的解决,如果这是可用的。 – Strawberry
但我需要发送每一天的数据。在Java中,我将不得不做一个检查,看看哪些日期不存在,然后插入这些日期为零作为清单中的计数。这个过程是可以避免的。 – Suyash