gpt4 book ai didi

mysql - 计算SQL中其他列的累计百分比(赛马)

转载 作者:行者123 更新时间:2023-11-30 23:05:34 26 4
gpt4 key购买 nike

SELECT A.horse, A.datum, Sum(IIf([prev_place] = ---)) AS cum_show_ct, count(prev_place) AS cum_race_ct, (cum_show_ct/cum_race_ct) AS cum_show_pct INTO SHOW_PCT
FROM (SELECT PLACE_2.horse, PLACE_2.a_id, PLACE_2.place, PLACE_2.datum, b.place AS prev_place FROM PLACE_2 INNER JOIN PLACE_2 AS b ON PLACE_2.horse = b.horse WHERE (PLACE_2.datum > b.datum) ORDER BY place_2.horse, place_2.datum) AS A
GROUP BY A.horse, A.datum;

所以这个表达式在下面的链接中创建了表格。 http://postimg.org/image/ke08u94i3/

它所做的是计算马匹的获胜百分比(在过去的赛马比赛中直到比赛当天)。这个获胜百分比只是一匹马的出场次数(获得第 1、2 或第 3 名)除以截至比赛当天它过去参加的比赛的累计次数 (cum_show/cum_count)。下面还有一个指向 PLACE_2 表的链接,其中计算的大部分数据均来自该表。

Place_2 表第 1 部分: http://postimg.org/image/68jy808vh/

Place_2 表第 2 部分(它有很多列): http://postimg.org/image/exmvc1c0l/

放置 2 表第 3 部分 http://postimg.org/image/cbaf0u7sd/

我想修改上面的脚本,以便每次表 place_2 中的完成列 = --- 对于马或马没有完成比赛,脚本将拉出一个累积的未完成到比赛当天的百分比 (cum_nonfinish/cum_count_of_races) 而不是累计显示百分比。在它使用 place 列计算累积显示百分比之前。

非常感谢,

最佳答案

SELECT original.*, @cumulative:=@cumulative+cum_show_pct 
from (
your select here
) original, (SELECT @cumulative:=0) sess_var

上面的查询提出了一种使用 session 变量对行值求和的常用方法。

您可以将 @cumulative:=@cumulative+cum_show_pct 包装在任何需要的 IF 条件中。

关于mysql - 计算SQL中其他列的累计百分比(赛马),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22058808/

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