-
急求:关于sql的前后条数据!!!!!10
比如说有一张表test
原数据
id value order date
1 cc 4 2011
2 ff 8 2010
3 dd 6 2009
4 aa 0 2008
5 ee 6 2008
6 gg 9 2008
7 bb 0 2007
按照order升序,date降序,排序后的顺序是
id value order date
4 aa 0 2008
7 bb 0 2007
1 cc 4 2011
3 dd 6 2009
5 ee 6 2008
2 ff 8 2010
6 gg 9 2008
那如果想知道排序后的id为3的上一条(即id=1)和下一条(id=5),SQL该怎么写?
网上大部分的查询上下条数据都是用
1。id的大于和小于做的,但我排序后id已经是无序,不可能做到了
2。还有用排序条件作为限制条件,但我这是多条件,并且是升序和降序,还有就是类型order是int,date是日期型,这两个能难作为连接条件做限制。
问题补充:zhouxiaobinkiss 写道我有条思路,你可以考虑一下:1,先取得id为3的记录排序后在数据表中所占的位置。 2、然后根据位置取得你所需的前后条记录:
sql:
①:select count(*) from test where date<(select date from test where id=3)//这句呢,是取到比id为3的date小的记录总数。
②:接下来就可以根据这个(记录总数+1 = id为3的记录在表中所占的位置)
之后就可以用top语句来取记录了(SqlServer的话)
首先关于①前一条数据一定date就比id=3小,因为首先是根据order排序的,所以你这个方法有点问题
问题补充:zhouxiaobinkiss 写道我有条思路,你可以考虑一下:1,先取得id为3的记录排序后在数据表中所占的位置。 2、然后根据位置取得你所需的前后条记录:
sql:
①:select count(*) from test where date<(select date from test where id=3)//这句呢,是取到比id为3的date小的记录总数。
②:接下来就可以根据这个(记录总数+1 = id为3的记录在表中所占的位置)
之后就可以用top语句来取记录了(SqlServer的话)
这个方法中①有问题
2010年9月20日 16:28
8个答案 按时间排序 按投票排序
-
采纳的答案
with b as ( select a.*, rownum num from (select t.id, t.value, t.order2, t.date2 from test t order by t.order2 asc, t.date2 desc) a ), c as ( select b.num from b where b.id = 3 ) select * from b, c where b.num = c.num - 1 union all select * from b, c where b.num = c.num + 1
2010年9月21日 17:02
-
取到比id为3小的记录总数,我可以找到id为3这条记录在数据表中所占的位置,比如:在第5条,就可以通过5来截取到第4,6条
2010年9月21日 14:21
-
[/size][/color]必备[color=orange]那你[color=red][/color]帮你弄[size=medium]
[/align][align=center]难难难2010年9月21日 13:16
-
select * from test where id in(
select id from
(select id from test limit 2,3) as a) and id !=3
至于怎么将上面的count(*)+1//位数放到limit里的2位置上,我就不知道了。不过好像mysql的limit只能接收常量2010年9月21日 13:15
-
我有条思路,你可以考虑一下:1,先取得id为3的记录排序后在数据表中所占的位置。 2、然后根据位置取得你所需的前后条记录:
sql:
①:select count(*) from test where date<(select date from test where id=3)//这句呢,是取到比id为3的date小的记录总数。
②:接下来就可以根据这个(记录总数+1 = id为3的记录在表中所占的位置)
之后就可以用top语句来取记录了(SqlServer的话)2010年9月21日 11:05
-
第一个问题只能是取出来,用程序来判断了,我认为没有办法用sql来实现的.
第二问题,没有太明白.如果是做连接条件,应该都没有问题吧.你可以试一下.2010年9月20日 22:23
相关推荐
急求学生会监察部工作计划!.doc
- **定义**:统计推断是指从数据中提取信息并做出关于总体的结论的过程。 - **学习目标**:包括估计、假设检验等。 #### 2. CDF 和统计功能的估计 - **经验分布函数**(Empirical Distribution Function, EDF):...
我现在需要一个想阿里巴巴右边那个效果的代码,希望高手给一些指导和资料。谢谢了!效果可访问http://www.alibaba.com
王同在《新品卖翻天》中探讨了新产品上市初期面临的挑战和急求成的心态。新产品推广往往需要一定的时间才能逐渐积累销量,形成市场影响力。在这个过程中,保持耐心和持续投入至关重要。 1. 新产品生命周期:新产品...
我做的个网站有个页面在进去的时候鼠标事件有错误,但如果是在第二页,鼠标事件又没有错误,请高手指点
独立版360断网急求箱,不用安装360安全卫士,可独立运行 断网修复工具
严蔚敏版数据结构题集答案,急求积分下载所需资源11111111111111111111111111111111111
急求医疗废物管理整改报告.doc
关于压缩包中的文件: - `qchm2.6_cn.exe`:这是QCHM的中文版安装程序,版本为2.6。用户可以通过运行此程序安装QCHM,以便进行CHM文件的制作。 - `急求QuickCHM v2.6注册码!!!_百度知道.html`:这看起来是一个...
供急求authorware作品的人参考!
急求一个VB密码输入的验证程序编写代码.txt
该Demo是用Unity原生的录音系统来实现聊天语音室,语音识别,语音合成; 原生的录音存在这录音时间固定,内存大小固定的问题,该工程解决录音以上的问题,可以将音频保存本地,或者服务器上面,目前功能已经...急求分数
在"描述"中提到的问题是关于在MFC中使用OpenGL进行图形绘制并实现旋转操作。OpenGL提供了多种方法来处理物体的旋转,包括使用模型视图矩阵、投影矩阵和顶点坐标变换。以下是一些关键知识点: 1. **OpenGL上下文**:...
急求IBATIS是什么,它的核心,优点,缺点和用时要注意什么_百度知道,急求IBATIS是什么,它的核心,优点,缺点和用时要注意什么_百度知道急求IBATIS是什么,它的核心,优点,缺点和用时要注意什么_百度知道
全国自学考试中的《急求护理学》试题及答案主要涵盖了急救医疗服务体系的相关知识,这是护理学中的重要领域,旨在培养护士在紧急情况下提供有效、及时的护理能力。以下是相关知识点的详细说明: 1. 急救医疗服务...
其中包含了Xeterm手机客户端的诸多优点,如:航班查询显示数据时用色彩区分有座位舱位和无座位舱位、直观的快捷指令添加等。还有更多行业内部人员急求的新功能,如:工作组管理、多账号同时登录、国内舱位运价显示...
【描述】:在撰写一篇关于院学生会秘书处的工作计划时,我们需要从个人的角度出发,明确职责、设定目标、规划活动并制定有效的执行策略。 【正文】 作为院学生会秘书处的一员,我深感责任重大。秘书处是学生会的...
驱动路径的要求我看文档一般用相对路径简单点,假设我的驱动文件放在当前测试代码项目的上一级目录,那我可以直接#define DRIVER_PATH "..\filem.sys",我的测试代码如下,急求各位大侠帮忙!!
《360急救工具包详解:安全防护与系统修复的得力助手》 在数字化时代,电脑病毒、恶意软件以及各种...在日常使用中,我们应养成良好的网络安全习惯,定期进行系统检查和维护,以确保我们的数据安全和系统的稳定运行。