从没有第一行的组中选择最小值

时间:2015-05-26 14:57:11

标签: mysql min

您好我想要一个具有一个目标的查询...

从字段中选择最小值,例如:

id  |   row    |  value
-----------------------
 8  |    1     |  0.9 
 7  |    1     |  0.8
 6  |    1     |  0.7
 5  |    1     |  0.6
 4  |    2     |  0.5
 3  |    2     |  0.4
 2  |    3     |  0.3
 1  |    1     |  0.2

我需要从此表中选择最小值,其中row =' 1'在这种情况下是id = 1对吗?但是我不想要id = 1,我只想要第一个连续行的最小值,在这种情况下是id = 5,因为row =' 1' id为8,7,6,5,最小值为0.6,id = 5。

我需要什么查询?

2 个答案:

答案 0 :(得分:1)

我想你是在这之后,但很难说......

SELECT x.* 
  FROM my_table x 
  JOIN my_table y 
    ON y.id = x.id + 1 
   AND y.row = x.row 
 WHERE x.row = 1 
 ORDER 
    BY x.value 
 LIMIT 1;

答案 1 :(得分:0)

尝试类似:

SELECT min(value), id
WHERE value > (SELECT min(value)
               FROM MyTable
               WHERE row = 1)
AND row = 1
GROUP BY id;

内部查询将查找行的最小值为1,而外部查询将查找下一个最小值,该值大于我们在内部查询中获得的最小值。