gpt4 book ai didi

sql - 如何计算和存储网站的选票?

转载 作者:行者123 更新时间:2023-12-02 08:50:19 24 4
gpt4 key购买 nike

我正在使用 SQL Server 2005。

我有一个网站,人们可以投票选出很棒的摩托车。每次用户投票时,第一辆自行车会有一个投票,第二辆自行车会有一个投票。两张选票存储在数据库中。投票表如下所示:

VoteID VoteDate     BikeID Vote
1 2012-01-12 123 1
2 2012-01-12 125 0
3 2012-01-12 126 0
4 2012-01-12 129 1

我想非常频繁地统计每辆自行车的票数,比如说每小时一次。我的想法是将计数作为自行车的属性存储在自行车表上的比赛获胜与失败的百分比。因此,如果一辆自行车赢得 10 场比赛并输掉 20 场比赛,那么他们的得分(统计)将为 33。我会计算每日、每周和每月的分数。

BikeID  BikeName  DailyTally WeeklyTally MonthlyTally
1 Big Dog 5 10 50
2 Big Cat 3 15 40
3 Small Dog 9 8 0
4 Fish Face 19 21 0

目前,每天大约有 500 张选票。我们预计在接下来的一个月左右的时间里每天有 2500 - 5000 个。

统计数据的最佳方式是什么?存储数据的最佳方式是什么?理货应该放在他们自己的 table 上吗?每次对自行车进行投票时,是否应该使用触发器来运行新的计数?是否应该每小时运行一个存储过程来获取所有计数?

任何想法都会非常有帮助!

最佳答案

将您的 VoteDate 存储为 datetime 值,而不仅仅是 date

对于您的计数,您可以将其制作成一个 View 并即时计算。使用 GROUP BYDATEPART 函数应该非常简单。如果您需要有关如何执行此操作的确切代码,请打开一个新问题。

对于如此少量的行,将聚合存储在表格中没有任何意义,因为您可以随时计算它们并获得准确和即时的最新结果。

关于sql - 如何计算和存储网站的选票?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8943452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com