具有列的最小值的行

mtz*_*mtz 25 sql sql-server

有这个选择:

id IDSLOT  N_UM
------------------------
1  1  6
2  6  2
3  2  1
4  4  1
5  5  1
6  8  1
7  3  1
8  7  1
9  9  1
10  10  0
Run Code Online (Sandbox Code Playgroud)

我想获得具有最小值N_UM的行(仅一个),在这种情况下是id = 10(10 0)的行.

And*_*ovs 21

select * from TABLE_NAME order by COLUMN_NAME limit 1
Run Code Online (Sandbox Code Playgroud)

  • 这是一个通用的例子.用你需要的任何东西替换表名和列名. (2认同)
  • 问题被标记为 sql-server。SQL Server 不支持“limit”关键字 (2认同)

Ada*_*m V 18

我试试这个:

SELECT TOP 1 *
FROM TABLE1
ORDER BY N_UM
Run Code Online (Sandbox Code Playgroud)

(使用SQL Server)


Sac*_*hag 16

试试这个 -

 select top 1 * from table where N_UM = (select min(N_UM) from table);
Run Code Online (Sandbox Code Playgroud)

  • 如果你只想要1行(比如问),可以+'限制1'. (4认同)
  • 尽管如此,Adam V 和我的变体更纯粹:一个选择,没有过滤。 (2认同)

Kai*_*nad 6

使用这个SQL查询:

select id,IDSLOT,N_UM from table where N_UM = (select min(N_UM) from table));
Run Code Online (Sandbox Code Playgroud)


Ehs*_*san 5

方法1:

SELECT top 1 * 
FROM table 
WHERE N_UM = (SELECT min(N_UM) FROM table);
Run Code Online (Sandbox Code Playgroud)

方法2:

SELECT * 
FROM table 
ORDER BY N_UM 
LIMIT 1
Run Code Online (Sandbox Code Playgroud)

此类问题的更一般解决方案如下。

方法3:

SELECT *
FROM table 
WHERE N_UM IN (SELECT MIN(N_UM) FROM table);
Run Code Online (Sandbox Code Playgroud)