如何显示和统计日期为昨天的值?
我用了time()
在数据库中插入日期。例子:
URL: google.com youtube.com google.com youtube.com test.com youtube.com
DateVisited: 1313668492 1313668540 1313668571 13154314
我想显示表中存在多少个具有多个的 URL,以及昨天访问过该 URL 的数量。结果示例:
LINK | timesExisted | timesVisitedYesterday
Google.com | 2 | 2
youtube.com| 3 | 3
我已经有了获取昨天日期的想法,但我不知道计算昨天某个 URL 存在的次数以及计算某个 URL 在表中存在的次数。
获取昨天日期的最简单和最好的方法是subdate https://www.w3schools.com/sql/func_mysql_subdate.asp:
subdate(current_date, 1)
您的查询将是:
SELECT
url as LINK,
count(*) as timesExisted,
sum(DateVisited between UNIX_TIMESTAMP(subdate(current_date, 1)) and
UNIX_TIMESTAMP(current_date)) as timesVisitedYesterday
FROM mytable
GROUP BY 1
出于好奇,原因是sum(condition)
给你count满足条件的行,否则需要麻烦且冗长的case
语句,在 mysql 中布尔值是1
对于真实和0
对于 false,因此对条件求和可以有效地计算其为 true 的次数。使用此模式可以简化您的 SQL 代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)