2012-06-27 61 views
1

我有一个select查询返回一个数据列表,我需要返回具有最低公共级别的所有行。返回多个最低值的行

SELECT code, level 
FROM table 
ORDER BY level 

对于实例

code | level 
-----+------ 
A01 | 3 
B56 | 3 
J33 | 4 
J35 | 4 
K56 | 4 

我想回用的最低水平值的所有结果,因此在这种情况下,这将是

A01 | 3 
B56 | 3 

我一直在使用MIN(level)尝试,但这只返回最上面一行。

回答

4
SELECT TOP 1 WITH TIES code, level 
FROM table 
ORDER BY level 
+0

+1酷,是'与ties'新在2012年SQL? – Andomar

+0

@Andomar - 从[至少2000]开始就没有它了(http://msdn.microsoft.com/en-us/library/aa259187(v = sql.80).aspx) –

+0

谢谢!非常简单的解决方案,尤其是当查询变得更复杂时 – Elliott

1
SELECT * 
FROM mytable 
WHERE level IN (SELECT Min(level) 
       FROM mytable) 
order by level