思路一:sqlserve
可以通过两个查找最大值来找到第二个最大值,第二大值小于最大值
该语句运用了isnull、distict、select……as
isnull--题目需要求找不到第二大值时返回空.
在 SQL Server 中,ISNULL
函数用于检查一个表达式是否为 NULL
,如果该表达式是 NULL
,则返回指定的替代值;否则,返回原表达式的值。
ISNULL(check_expression, replacement_value)
- check_expression:要检查的表达式。
- replacement_value:如果
check_expression
为NULL
,则返回这个替代值。
distict 不重复
select……as 语句用于给查询结果中的列指定一个别名
注意括号匹配!!!
思路二:对数据进行排序后挑选第二条数据。
mysql实现
运用ifnull(与sqlserve略有差异)、order by ...desc(降序)/asc (升序)、limit
LIMIT 1, 1
是一种在某些数据库系统中(如 MySQL)用于分页查询的语法。它指定了从结果集中跳过多少行以及返回多少行。具体来说:
- 第一个数字
1
表示要跳过的记录数。 - 第二个数字
1
表示在跳过了指定数量的记录后,接下来要返回的记录数。