0

我有一个#tempTest包含这样数据的表:

ID  Name
1   A
2   AB
3   ABC
4   ABCD
5   ABCDE
6   ABCDEF
7   X
8   QRWXYZ

现在我需要表格中最短的名字。

我试过这样:

SELECT TOP 1(name) Smallest  FROM #tempTest
GROUP BY name
ORDER BY LEN(name) 

这代表:

Smallest
A

但我需要的是:

ID  Name
1   A
7   X
4

2 回答 2

2
SELECT TOP 1 WITH TIES (name) Smallest  FROM #tempTest
GROUP BY name
ORDER BY LEN(name) 
于 2015-09-10T10:44:58.210 回答
1
SELECT id, name FROM #tempTest
WHERE LEN(name) = (SELECT MIN(LEN(name)) FROM #tempTest)
于 2015-09-10T10:38:15.347 回答