我已经搜索了很多地方,但似乎无法找到答案,所以我需要帮助。
我正在尝试随机选择5个人。就像一次抽奖。每个人都可以自由报名参加,但只有其中的3次报名才会被考虑。因此...将选出5个不同的获胜者,但所有的报名(包括重复的)都需要被考虑,最多只能算3次报名。
例如:
Adam,1
Adam,2
Adam,1
Adam,1
Sally,2
Timmy,3
John,1
John,1
Jenny,2
Wendy,3
Wendy,3
Wendy,3
Wendy,5
Wendy,5
以下是我到目前为止的代码:
select top 5
name, vote
from
(SELECT
name, vote
FROM
Entries
GROUP BY
name, vote) winners
ORDER BY
NEWID();
我的问题是(1)我不知道如何将它们限制为每个考虑三次,因为我想不起来该怎么做;(2)使用Distinct不起作用,因为他们可以输入100次并且每次都对不同的条目进行投票。
vote
代表什么? - Hart COvote
代表什么吗?您正在按名称和投票进行分组,是“Wendy”有3个条目可以获胜,即使她在其中5次,还是“Wendy,5”有2次获胜机会,因为她在其中2次? - Hart CO