我目前已经制作了一个用于抽搐的irc机器人。我想将统计数据保存到数据库中,数据包括加入频道的用户数量,获得了多少新关注者以及其他内容。我不确定这是如何正确完成的,但我现在的方式是这样的:
CREATE TABLE stats(year,month,day,hour,joinedChannel,TotalFollowers);
但我觉得这样做是一种奇怪的方式。我的问题基本上是,如果有一种更聪明的方法可以保存如上所示的统计数据。
编辑: 好吧,好像我没有提供所有信息。目前我有一个看起来像这样的表“CREATE TABLE用户(id,points,timespent,follower,follow,wMessage);”我的机器人中有一些功能,如歌曲请求和加入游戏的队列。我想有统计数据,所以我可以看到今天有多少用过的歌曲请求以及今天有多少人使用了队列功能以及今天有多少人使用了频道,其中“this”将是任何选定的日期。我不需要更复杂的桌面设计吗? -
答案 0 :(得分:2)
使用GETDATE()或CURRENT_TIMESTAMP行中的所有内容将所有date_time列合并为一列。随着你现在的记录。分裂成更复杂的表格设计并不是真正的理由。
就像这样。
CREATE TABLE stats
(
joinTime DATETIME,
joinedChannel nvarchar(100), --who joined the channel?
totalFollowers int
)

答案 1 :(得分:0)
您可以将年,月,日,小时放在同一个字段中。 joinChannel将在另一个表中。然后创建joinChannel与stats的外键关系。整个事情会变得更加动态。您也可以将日期放在不同的表格中。至少一年,但不是一天一小时...