各位快来,有人高分悬赏,机不可失!!!!^O^(100分)

  • 主题发起人 主题发起人 wjbys
  • 开始时间 开始时间
W

wjbys

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手请赐教:
小弟有一表: 字段1...字段n....
1 .. 9
2 .. 9
3 .. 11
4 .. 11
5 .. 11
6 .. 9
7 .. 9
8 .. 9
.. ..
请问sql应如何表达才能根据'字段n'得到第3、6条记录?
 
问题很难?:-(
 
不懂:-P
疑问一:字段n有什么规律吗?
疑问二:为什么要得到第3、6条记录?要得到的记录要满足什么条件?
最好讲清楚问题的来笼去脉,也许可用其他方案解决。
 
只要‘字段n’的值发生变化就行了。
 
可以使用‘<>’吗?
 
用‘<>’肯定不行,可以建一个同构的(临时)表,用一个变量记录‘记录n’的值,然后
扫一遍原表,将满足条件的记录复制到新表中去。行吗?
........
i:integer;
dataset1.first
i:=dataset1.fields['记录n'];
while not dataset1.eof
begin
if i<>dataset1.fields['记录n'] then
begin
.......
复制当前记录到新表中;
.......
i:=dataset1.fields['记录n'];
end
dataset1.next;
end;
 
还有50分,想再听听高见
 
什么意思,搞不明白!
是要得到第三和第六条记录吗?
 
一般的问题描述,都有实际需求,而只要有需求,都能找到合适的sql描述。
像这样的:“要3、6条”似乎在实际应用中是没有意义的。

一定要的话,为什么不随机呢?
 
c/s数据库是没有记录的概念的,你须先设一主键,就可以查到满足条件的记录了,
 
sportsman,只要是 字段n 中的值发生变化,与上一个值不相等时就是我所需求的,3、6
就是这样的两个合乎需求的记录。你能用sql描述吗?小弟甚盼(还有50元哦)。
 
恐怕一句sql语句不能解决。
用存储过程吧,cursor比较慢,但是可以解决你的问题
 
to wjbys:
你的字段n 中的值发生变化,与上一个值不相等时就是我所需求的,3、6
就是这样的两个合乎需求的记录,11和9的区别吗?是以9作为标准
说说什么标准??
 
zqs10597249你好:可以认为是11和9的区别,在查询结果中有可能9先出现也有可能11先出现。
你有好办法吗?
 
to sportsman难道只能写一个存储过程,返回满足条件的记录。然后在SQL语句中执行这个
存储过程?
 
是的,恐怕不可能用一句sql完成纪录间的比较。
 
接受答案了.
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
922
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部