举例如下:
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'的记录
使用一条语句里查询
解决方案 »
- mysql 中文不支持
- 如何用jsp连接postgresql?万分感谢!
- mysql blob 字段下载下来后都是40K
- 创建表时如果有两列都是datetime类型,并且都设置默认值,要怎么解决呢?
- postgresql 安装失败?求教
- 【cant connect to mysql server 10055】问题
- 重启发现死活找不到 mysql manager
- 如何替换关键字字串
- 如何检查服务器数据大小,如何下载数据库内容?
- 有没有谁使用过MYSQL的临时表?
- 我在freebsd 8.1环境下用php+mysql开发了一个用户注册系统!中文注册后出现这个错误!
- 查询每类最大的两个值的SQL要怎么写啊~~
) a where name ='eee';
我想查询"以id倒序排列的前5条记录录"里是否有一条 name='aaa'的记录
"以id倒序排列的前5条记录录"就是
15 eee
13 xx
12 ggg
7 fff
5 eee我只要在这5条记录里查询
这里没有name='aaa'的记录
但是
select * from `tab` where name ='aaa' order by `id` desc limit 5
会把第一条记录
1 aaaa
查出来
) a ON a.id=t.id where name ='eee';
或
select * from (select * from tab order by id desc limit 5)a
where a.name='eee';
select * from (select * from `tab` order by `id` desc limit 5
) a where name ='eee';如果N比较大,则考虑使用join连接
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';实际使用中,可以使用这两个语句,比较一下,哪个更快就用哪个。