您现在的位置是:首页 >

Access中的查询两个数据最接近

火烧 2023-02-14 03:34:13 1073
Acce 中的查询两个数据最接近 4:0这种格式的比分不好识别,解决问题的关键是算出比赛的分差,否则就真的是要用眼睛看了。 下面提供一种或许是更好的面向“甲方分数:乙方分数”分数格式,求分差的表达式

Access中的查询两个数据最接近  

4:0这种格式的比分不好识别,解决问题的关键是算出比赛的分差,否则就真的是要用眼睛看了。

 

下面提供一种或许是更好的面向“甲方分数:乙方分数”分数格式,求分差的表达式

 

Abs(Val([比分]) - StrReverse(Mid(Val(StrReverse([比分] & 1)), 2)))

 

它不受比分位数多少的影响,例如1:4;10:5 ;100:21等比分位数不固定也不成问题。

Access中的查询两个数据最接近

 

另外比分最接近、最悬殊和夺冠次数最多的球队都存在超过一支球队的可能,这也是我们需要考虑的因素。

 

NBA历年总冠军表:

 

1)比分最接近的比赛:

select t.年份, t.冠军, t.冠军教练, t.亚军, t.亚军教练, t.比分

from (select *,Abs(Val([比分]) - StrReverse(Mid(Val(StrReverse([比分] & 1)), 2))) as 分差 from NBA历年总冠军表)t

where t.分差=(select min(Abs(Val([比分]) - StrReverse(Mid(Val(StrReverse([比分] & 1)), 2)))) from NBA历年总冠军表);

2)比分最悬殊的比赛:

select t.年份, t.冠军, t.冠军教练, t.亚军, t.亚军教练, t.比分

from (select *,Abs(Val([比分]) - StrReverse(Mid(Val(StrReverse([比分] & 1)), 2))) as 分差 from NBA历年总冠军表)t

where t.分差=(select max(Abs(Val([比分]) - StrReverse(Mid(Val(StrReverse([比分] & 1)), 2)))) from NBA历年总冠军表);

3)夺冠次数最多的球队:

select t.冠军,t.wins as 夺冠次数 from

(select 冠军,count(*) as wins from NBA历年总冠军表 group by 冠军)t 

where t.wins=(select max(wins) from

(select 冠军,count(*) as wins from NBA历年总冠军表 group by 冠军));

  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码