怎样查询“在前N条记录查询是否有符合指定条件的记录”
举例如下:
idname
1aaaa
2bbb
3ccc
4ddd
5eee
7fff
12ggg
13xx
15eee
在这个表里,我想查询"以id倒序排列的前5条记录录"里是否有一条 name='eee'的记录,请高手指导一下。
具体讲就是 在
select * from `tab` order by `id` desc limit 5
的结果里,查询`name`='eee'的记录
使用一条语句里查询
[解决办法]
select * from (select * from `tab` order by `id` desc limit 5) a where name ='eee';
[解决办法]
select * from (select * from 这个表 order by id desc limit 5) t where name='eee'
[解决办法]
select t.id,name from tab t INNER JOIN (select id from `tab` order by `id` desc limit 5
) a ON a.id=t.id where name ='eee';
[解决办法]
2楼已经回复你了,不过效率问题,就得看你的这条语句运行的频繁不频繁了。