从表中检索第二高的值

siv*_*iva 9 sql t-sql

如何从表中检索第二高的值?

Pra*_*ana 11

select max(val) from table where val < (select max(val) form table) 
Run Code Online (Sandbox Code Playgroud)


aio*_*obe 6

在MySQL中你可以使用LIMIT 1, 1:

SELECT col FROM tbl ORDER BY col DESC LIMIT 1, 1
Run Code Online (Sandbox Code Playgroud)

请参阅MySQL参考手册:SELECT语法).

LIMIT子句可用于约束SELECT语句返回的行数.LIMIT需要一个或两个数字参数,它们都必须是非负整数常量(使用预准备语句时除外).

使用两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数.初始行的偏移量为0(不是1):

SELECT * FROM tbl LIMIT 5,10;  # Retrieve rows 6-15
Run Code Online (Sandbox Code Playgroud)


Ava*_*esh 5

从table_name order by field_name desc limit 1中选择top 2 field_name