注册 登录
编程论坛 VB6论坛

有关sql语句 重谢

cafelove 发布于 2012-03-31 22:25, 559 次点击
select max(y_lei)from  orders where datepart(yy,time)='2012'and datepart(mm,time)='3' and datepart(dd,time)='20'
返回值是3月20日的y_lei的最大值,返回值是没错。 但是orders这个表中的值 有时会出错,(正常的值都是有规律的一点一点变大,好比1,3,5,7,9,11……但是表中有时候会是1,3,5,102,7,9,11……)大体是有规律的,而查到的值是102,但是我想得到的值是11,sql中会有把102这个值除去的语句吗?急等,重谢!
5 回复
#2
Artless2012-03-31 23:39
条件不清晰
#3
风吹过b2012-04-01 09:36
要么用存储过程,要么你程序里加以判断。

按 从大到小的顺序返回所有的 y_lei 列,
依次读下去,如果前一下比下一个值大于多,就放弃此行。
#4
cafelove2012-04-01 10:26
回复 3楼 风吹过b
这个思路我也想到过,这个查询语句是从一个表中取出一个值往另外一个表中写入,不是单在sql中查询,不知道在代码中如何实现啊 赐教
#5
风吹过b2012-04-01 11:51
k1=rs.files("y_lei")
do
    rs.movenext
    k2=rs.files("y_lei")
    if k1-k2<3 then
      exit do
    else
      k1=k2
    end if
loop not rs.eof
k1 就是所需要的值

大概就是这样的的吧,有几个关键字写错了。
#6
wxflw2012-04-01 12:16
我估计你想在一个范围内查找的吧?设置一个范围查找就可以了啊。
https://bbs.bccn.net/thread-364212-1-1.html
你参考一下我这个时间范围查找方法吧,我按自己需要的时间范围查询,然后提取最大时间那一条,
如果要提取这一条你可以用这一条的唯一“编号”来提取出这条信息。
1