我有以下表的SQL Server:查询下一个最低值对于给定的参数
GroupID Sequence Name
1 10 Mary
1 25 Jack
1 17 Jill
2 3 Peter
2 42 Henry
2 50 Paul
下面的查询返回的行与给定组的下一个最低序列(10)(1)和一个给定的序列17
SELECT TOP 1 *
FROM dbo.customerassignmentgroup
WHERE groupid = 1
AND SEQUENCE < (SELECT MAX(SEQUENCE)
FROM dbo.customerassignmentgroup i
WHERE i.groupid = customerassignmentgroup .groupid)
AND manualsequence < 17
ORDER BY SEQUENCE DESC
有没有另外一种方法呢?我试图避免
WHERE i.groupid = customerassignmentgroup在内部查询.groupid
,因为我需要将其转换为一个查询在亚音速
注:我的数据库是SQL Server 2000中
你可以使用存储过程吗? – Avitus 2011-05-03 17:14:31
我试图避免这种情况......看起来我可能最终会使用它。 – 2011-05-03 17:15:40