假设我有一个包含各种小部件的网站。这些小部件可能会被用户“喜欢”。那么,如何使用“喜欢”作为衡量标准,在一定时间范围内衡量任何给定小部件的受欢迎程度?我可以组装能够识别今天或本周,月(等等)热门小部件的脚本。
我之前曾想过只计算总喜欢的数量,但这无法告诉我它是否受欢迎或者没有看到它是如何与时间无关的。
答案 0 :(得分:3)
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';