我的数据库模式是 id value 2个字段 我要求 查询 出来 满足 字段=一个值的所有前后10条数据(这个整个数据有几十万条)。
解决方案 »
- Linux下使用C语言执行多条SQL命令访问MYSQL数据库的问题
- insert问题
- mysql能解决双系统下乱码问题吗
- Mysql数据库查看show processlist的连接丢失问题(高分,不够再开帖补)
- linux 下 如何将数据文件导入mysql 数据库
- 为什么MySQL-Front无法连接到mysql
- 存储过程有错误
- mysql3.23版本在XP下的连接问题
- Mysql出现下面的错误是怎么回事啊,MySql: ready for connections 041203 14:41:27 MySql: Shutdown Complete
- mysql中多表查询的问题
- 关于创建函数的问题
- 帮忙看下一个数据库性能问题
union all
select * from tb where value='xx' order by id desc limit 10
我要求的是 比如说 我 输入的 是 110 这个 value 我要的是 所有 110这个值得 前后 10条数据 不要这个 110 数据
union all
select * from tb where value<110 order by value desc limit 10
1 20061102001 110
2 20061103002 356
3
4
5
。
这是简单的数据模式 var 有很多重复的 主键 是id 我的要求是 查询所有 var =110 的 前后 10条数据 不包含 110 可能 var =110的 id 有上万个
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
select * from tb where abs(tb.id-(select id from tb where tb.id=110))<11 and tb.var<>110;
拿去试试有用不。