如何在MySql查询中执行此操作?

时间:2010-03-31 09:36:39

标签: mysql

ID 名称 AMT
1 名1 1000
2 名称2 500个
3 NAME3 3000
4 名1 5000
五 名称2 2000
6 名1 3000

将上表视为样本。

我的SQL查询有问题,我这样使用。

从样本中选择名称,amt,其中amt介于1000和5000之间

它返回表中1000到5000之间的所有值 我想获得每个名字的最大金额记录

即, 3 name3 3000
4 name1 5000
5 name2 2000

2 个答案:

答案 0 :(得分:1)

Select name,amt
from sample
where amt between 1000 and 5000
ORDER BY amt DESC
GROUP BY name

答案 1 :(得分:0)

SELECT 
    name,MAX(amt) AS amt
FROM 
    table 
WHERE 
    amt BETWEEN 1000 and 5000 
GROUP BY name

在这里,您按名称列进行分组,并检索该GROUP中列'amt'的最大值,对于amt介于1000和5000之间的所有行。此查询未经测试,但很简单 - 我相信它应该有用。