假设我有一个包含各种小部件的网站。这些小部件受用户“喜欢”的影响。那么,我如何能够使用“喜欢”作为衡量标准来衡量任何给定小部件在特定时间跨度内的受欢迎程度?我可以组装能够辨别今天或本周、本月(等等)的热门小部件的脚本。
我之前想只统计总喜欢,但这无法告诉我它是否受欢迎或不知道如何与时间无关。
假设我有一个包含各种小部件的网站。这些小部件受用户“喜欢”的影响。那么,我如何能够使用“喜欢”作为衡量标准来衡量任何给定小部件在特定时间跨度内的受欢迎程度?我可以组装能够辨别今天或本周、本月(等等)的热门小部件的脚本。
我之前想只统计总喜欢,但这无法告诉我它是否受欢迎或不知道如何与时间无关。
CREATE TABLE WidgetLikes (
WidgetID INTEGER NOT NULL REFERENCES Widgets(WidgetID),
UserID VARCHAR(20) NOT NULL REFERENCES Users(UserID),
LikedAt DATETIME NOT NULL,
PRIMARY KEY (WidgetID, UserID)
);
这假设:
要使用这个表,只要用户喜欢一个小部件,就插入一条记录。
要获得结果,请发出如下命令:
SELECT WidgetID, COUNT(UserID) FROM WidgetLikes
WHERE LikedAt BETWEEN `2012-09-01 00:00:00` AND `2012-09-03 11:59:59';