注册 登录
编程论坛 SQL Server论坛

请教SQL查询问题

gmzqy 发布于 2010-04-02 15:10, 973 次点击
sql2000中查询相同编号最大数量的数据

NO name amount price
001  A    2     10
002  B    6     12
001  A    3     13
002  B    6     15
002  B    7      9
003  C    3     20
003  C    5     18
003  C    8     16

例如上面表中,需要筛选相同 "NO" 中,最大 "amount" 数据出来.筛选出结果如下:

001  A    3     13
002  B    7      9
003  C    8     16

具体语句怎么写呢?
3 回复
#2
happynight2010-04-02 16:44
NO name amount price
你说的不是很清晰
根据你的数据 假设 NO 和name是一一对应的,price不一定
SELECT 表.NO,表.name,表.amount,表.price
FROM 表
INNER JOIN
(SELECT NO,Max(amount) AS amount
FROM 表 GROUP BY NO) a ON 表.NO=a.NO
#3
gmzqy2010-04-03 21:59
回复 2楼 happynight
十分感谢,我的问题解决了。好像还要在后面加个条件

SELECT 表.NO,表.name,表.amount,表.price
FROM 表
INNER JOIN
(SELECT NO,Max(amount) AS amount
FROM 表 GROUP BY NO) a ON 表.NO=a.NO AND 表.amount=a.amount


再次谢谢版主!!!
#4
Tailor2010-04-09 12:09
如果这个表里面有重复的记录,那查询出来的是不是会有重复的数据?
1