gpt4 book ai didi

mysql - sql数据库,有多个where,second max

转载 作者:太空宇宙 更新时间:2023-11-03 11:31:28 25 4
gpt4 key购买 nike

我有一个名为 [database] 的表,其结构如下:

ID|text|section|
1 |xxxx| 1 |
2 |xxxx| 2 |
3 |xxxx| 2 |
4 |xxxx| 1 |
5 |xxxx| 4 |
6 |xxxx| 1 |

我正在尝试编写 SQL,它返回给定部分具有第二高 ID 值的行。

即要获得第 1 节中具有最高 id 值的行,我可以这样做:

select * 
from [database]
where [ID] =
(
select max([ID])
from [database]
where [section] = 1
)

为了获得具有第二高 ID 值的行,我尝试了这个,但是下面的数据返回 ID 为 5 的行,而我希望它返回 ID 为 4 的行。

select * 
from [database]
where [ID]=
(
select max([ID])-1
from [database]
where [section]=1
)

我正在尝试 AND 命令,但它不起作用。我是 SQL 和 ASP 的新手。我认为首先我需要对 section = 1 进行过滤,然后是该部分中的第二个最大/最高 id;像这样的东西:

if( section == 1 && secMaximum )
{
.
.
.
}

最佳答案

如果您需要第二个最大值,只需使用offset:

select a.*
from [database] a
where a.section = 1
order by a.id desc
limit 1, 1;

关于mysql - sql数据库,有多个where,second max,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49417613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com