SQL查询以查找里程的最高值

时间:2019-01-14 10:02:21

标签: sql

想要SQL解决方案的解决方案。 得到了一个以“ Days and Miles”为标题的表格。  想要获得表中的最高值。  有时,如果车辆在某个特定的日子不起作用,则该值将以英里为“ NULL”。 最大值应在“ NULL”值之后计算。  先前的最高值将被忽略,并且必须在“ NULL”值之后计算最高值。  请提供相同的SQL查询。

表中出现NULL后,Iam无法获得找到最大值的解决方案。数据是串联的,并且在出现NULL之后,应该在出现NULL值之后计算出最大值。它将是100,200,300,0,100。在这种情况下,出现NULL或0后出现100,而100为MAX

2 个答案:

答案 0 :(得分:1)

如果可能,您应该尝试发布表格的样本以及预期结果。

但是,我相信以下查询可以解决您的问题(如果我正确理解的话)

SELECT 
   MAX(MILES) 
FROM 
   TABLE
WHERE 
   DAYS > (
     SELECT MAX(DAYS) FROM
        TABLE
     WHERE MILES IS NULL);

答案 1 :(得分:0)

只需使用MAX()。它的用法如下:

SELECT MAX(<column>) FROM <table>;
SELECT MAX(<column>) FROM <table> GROUP BY <other column>;

如果您只想选择最高的Mile值,则可以这样做:

SELECT MAX(Miles) FROM YOUR_TABLE

SELECT MAX(Miles) as MAX_MILES FROM YOUR_TABLE 

很难解释您的实际需求。从我所能收集到的信息来看,这可能是您正在寻找的东西:

SELECT MAX(Miles) as MAX_MILES FROM YOUR_TABLE WHERE Days = (SELECT MAX(Days) FROM 
YOUR_TABLE WHERE Miles = NULL OR 0)

在此处了解更多信息:https://www.w3schools.com/sql/sql_min_max.asp