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