将统计信息保存到sqlite数据库

时间:2015-06-07 04:01:46

标签: sql database sqlite

我创建了一个用于抽搐的IRC机器人,它带有一些功能(歌曲请求,加入游戏的队列。目前我的数据库中有一个表格看起来像这样

CREATE TABLE users(id,points,timespent,follower,followed,wMessage);

一个非常简单的表(id是用户的名称,点是你观看用于我上面提到的某些功能的流所获得的虚拟货币)时间点在频道中是时间点,如果你是追随者跟随者,接下来就是你曾经跟随过一次,而wMessage是一个欢迎信息)

我想要它所以我可以看到关于机器人的一些统计数据,统计数据有多少人加入频道x年/月/日/小时,有多少使用了队列功能,有多少使用了y功能x时间。我只能提出一种方法来做到这一点,但我不确定这是否是最佳方式:

CREATE TABLE queueStats(usedDate DATETIME,timeUsed int);

我猜你甚至可以删除timeUsed并在每次使用该功能时创建一个新行,然后使用“SELECT - WHERE”查询计算行数。这是一个聪明的方法吗?我问的原因是,我对sql数据库很新,所以我不太确定标准的做事方式(如果有这样的事情)

1 个答案:

答案 0 :(得分:1)

我建议创建一个表来记录感兴趣的事件。您可以使用引用用户表的外键。然后可以使用聚合查询(example)来获取摘要统计信息。

顺便说一句,我建议明确指定您的用户ID列为“整数主键”。有关原因/方式,请参阅here。基本上,如果不这样做,最终可能会出现重复的用户ID行,而且如果您没有明确指定主键字段,sqlite会为您创建一个额外的“行ID”列。