【发布时间】:2016-07-31 20:49:41
【问题描述】:
使用sql,如何通过查询找到第二大的数字?
【问题讨论】:
-
SELECT ~0 - 1;;-) -
我认为这个问题很有用,因为它简单但具体......
标签: mysql sql sqlite mysql-python
使用sql,如何通过查询找到第二大的数字?
【问题讨论】:
SELECT ~0 - 1; ;-)
标签: mysql sql sqlite mysql-python
对于第二大使用这个:-
SELECT MAX(num) FROM TABLE
WHERE num NOT IN (SELECT MAX(num) FROM Employee)
如果您需要以通用方式使用它,则使用它来获得第 N 个最大的数字
SELECT * /*This is the outer query part */
FROM TABLE table1
WHERE (N-1) = ( /* Subquery starts here */
SELECT COUNT(DISTINCT(table2.num))
FROM TABLE table2
WHERE table2.num > table1.num)
所以使用上面的查询,如果你想找到第二大的,那么查询会变成......
SELECT * /*This is the outer query part */
FROM TABLE table1
WHERE 1 = ( /* Subquery starts here */
SELECT COUNT(DISTINCT(table2.num))
FROM TABLE table2
WHERE table2.num > table1.num)
【讨论】:
或使用限制:
SELECT number
FROM numbers
WHERE 1=1
ORDER BY number DESC
LIMIT 1, 1
【讨论】:
这是一个工作示例:http://sqlfiddle.com/#!9/9aed1/1
SELECT MAX(number) FROM test WHERE number < (SELECT MAX(number) FROM test )
【讨论】: