2011-05-17 47 views
-1

我已经在我的数据库以下值:在MySQL中获取最大值?

Column1 
----- 
10 
20 
30 
05 
12 
21 
10 
40 

正如你可以看到,该值在前三排增加。例如,它从第四行再次开始,其值为5,然后在第7行再次以10开始。也就是说,它在一定程度上降低然后再增加。该值以不同的数字开始。我想获得最高的每个。即我想获得值为30,21和40的行。

请注意,我只有排序的列表,它可以用编程语言中的某些变量完成,但是如何在某些查询的情况下在mysql中执行此操作?

+1

-1的重复http://stackoverflow.com/questions/6027847/how-to-show-every-max-value-in-mysql ...不要在堆栈溢出中一次又一次地发布相同的问题。开始赏金,如果你想... – Gowri 2011-05-17 12:11:57

+1

有没有其他的列? http://forums.mysql.com/read.php?32,225340,225364#msg-225364 – Rob 2011-05-17 12:13:37

回答

0

我会插入所有的值到另一个只有2列(ID为AUTOINCREMENT和VAL值作为你的值)的表中。

然后,我会用这个选择:

SELECT 
Val 
FROM (
    SELECT 
     T1.id, T1.Val, (Select Val from MyTable T2 where T2.id = T1.id + 1) NextVal 
    FROM 
     MyTable T1 
) 
WHERE 
Val > NextVal