如何获取指定角色(HO2)与状态(Rejected)的数据库最新记录?
按角色和状态获取数据库最新记录
需求说明
要筛选出指定role(角色)和status(状态)组合的最新一条记录,比如获取role=HO2且status=Rejected的最新条目,预期结果为27811->Ho2->Rejected。
通用SQL解决方法
假设你的表包含id(唯一标识,数值越大代表记录越新)、role、status核心字段,以下是主流数据库的实现代码:
MySQL/MariaDB/PostgreSQL
SELECT id, role, status FROM `你的表名` WHERE role = 'HO2' AND status = 'Rejected' ORDER BY id DESC LIMIT 1;
SQL Server
SELECT TOP 1 id, role, status FROM `你的表名` WHERE role = 'HO2' AND status = 'Rejected' ORDER BY id DESC;
Oracle
SELECT id, role, status FROM ( SELECT id, role, status FROM `你的表名` WHERE role = 'HO2' AND status = 'Rejected' ORDER BY id DESC ) WHERE ROWNUM = 1;
注意事项
- 如果表中用时间字段(比如
create_time)判断记录新旧,把ORDER BY id DESC替换成ORDER BY create_time DESC即可。 - 执行上述SQL后,返回的结果就是符合条件的最新记录,格式对应你需要的
id->role->status。
内容的提问来源于stack exchange,提问作者nagar mehul
相关产品推荐
相关产品推荐

