在MYSQL MIN / Max / Avg计算中考虑的值的标准

时间:2015-09-08 07:33:51

标签: mysql

我正在尝试从我的数据库中获取MIN / MAX / AVG,但可能会不时出现一些虚假的结果。基本上,我只希望MYSQL给我一个差异计算的最小值等。

我需要的标准是单程+65.00。

以下是一些示例数据

Actual  
1854  
1843
1865
1822
1833
1859
1400    

这是我的查询 -

Select MIN(ACTUAL - 1800), MAX(ACTUAL - 1800), AVG(ACTUAL - 1800) FROM ACTUAL_TABLE WHERE DATE = '2015-08-09'

此查询结果为 -

MIN     MAX  AVG
-400    65  -17.71428571

很明显,查询在实际表格中获得1400,差异为-400,我需要它忽略此结果,因为它超过了> -65.00我需要的标准。

如果标准到位,结果将如下所示 -

MIN     MAX  AVG
22  65  -17.71428571

我已经尝试在SQL中放入一个CASE并且没有任何乐趣。任何人都可以对这个问题有所了解吗?

三江源。

1 个答案:

答案 0 :(得分:1)

仅选择您想要的值

Select MIN(ACTUAL - 1800), MAX(ACTUAL - 1800), AVG(ACTUAL - 1800) 
   FROM ACTUAL_TABLE 
   WHERE DATE = '2015-08-09' AND ACTUAL >= (1800-65) AND ACTUAL <= (1800+65);