需要在数据库中查找最大值,但随后我需要读取列中的其他值。
这可以用一个 SQL 命令完成还是我必须使用这两个命令?
SELECT MAX(id) FROM Table;
SELECT * FROM Table WHERE id = $value;
其中 $value 是来自第一个命令的变量
需要在数据库中查找最大值,但随后我需要读取列中的其他值。
这可以用一个 SQL 命令完成还是我必须使用这两个命令?
SELECT MAX(id) FROM Table;
SELECT * FROM Table WHERE id = $value;
其中 $value 是来自第一个命令的变量
select * from your_table
where id = (select max(id) from your_table)
或者
select t1.* from your_table t1
inner join
(
select max(id) as mid
from your_table
)
t2 on t1.id = t2.mid
可能最简单的方法是:
select *
from t
order by id
limit 1
或者使用top 1
orwhere rownum = 1
或者任何适合您的数据库的逻辑。
注意:这只返回一行。如果您有重复的此类行,则与最大值进行比较将为您提供所有这些行。
此外,如果您使用的是支持窗口函数的数据库:
select *
from (select t.*, row_number() over (order by id desc) as seqnum
from t
) t
where seqnum = 1;