我有一个关于在 sql 中编写查询的问题(在我之前的问题的继续中:减去两行的值并将其插入新列(不是后续行)):
我想写一个查询来计算用户在当前时间之前赢得比赛的次数,获胜的条件是 place=1 ;我希望将结果放在一个新列(win-frequency)中,并且当新的获胜发生时,[win-frequency] 的值会发生变化。在下图中,我手动计算了获胜频率。
http://www.8pic.ir/images/54691148512772358477.jpg
我编写了以下查询,但出现错误:
SELECT [user-name],
submissions,
[date],
place,
recency,
[win-recency],
COUNT( SELECT [date] FROM [top-design1]] td1
WHERE td1.[user-name] = [top-design1].[user-name]
AND place=1
AND [date]< [top-design1].[date]
ORDER BY [date] DESC) as win-frequency
)
FROM [top-design1]
这是 sql 小提琴: http ://sqlfiddle.com/#!3/0ec5f