我目前正在使用SQL Server 2012 SE数据库为足球预测程序创建前5个预测概述。
我有一个名为Userpredictions
的表格,其中有两列:team1score
,team2score
。
这些列包含用户提供特定匹配的预测。
我需要前5个选择这些列的组合给出的次数。所以不是team1分数是0,1,2等多少次的前5名......但是组合team1score和team2score的前5名出现
如果可能的话,这些预测的发生次数也是如此
我想首先选择所有team1score和team2score组合中的一个,然后将计数添加到它们并按照这个数量排序并切割直到我只有前5名但我不知道如何在SQL Server中形成查询
答案 0 :(得分:0)
怎么样
SELECT TOP (5)
TeamScore1,
TeamScore2,
COUNT(*)
FROM
dbo.UserPredictions
GROUP BY
TeamScore1,
TeamScore2
ORDER BY
COUNT(*) DESC
您基本上只计算每对(TeamScore1
,TeamScore2
)存在的次数,并按计数降序排序值列表,然后选择前5位。