Id(期号不连续是因为08年到09年过渡时就不连续的,而且每年也不一定就是356期) 3D 组选数据构成情况表:
----------------------------------
期号 开奖号1 开奖号2 开奖号3 开奖号1遗漏值
------------------------------------------------
2008356 5 6 1 x(未知上次出现5的位置)2009001 3 3 6 x(未知上次出现3的位置)
2009002 7 1 3 x(未知上次出现7的位置)
2009003 5 0 3 2(2009003期与2008356期之间间隔2)现在就是想求直选遗漏值:就是求当前期的开奖号1 与上次出现被遗漏过几次?现在是由前三列值,咋求取第四列的值( 开奖号1遗漏值)用SQL语句实现输出!
----------------------------------
期号 开奖号1 开奖号2 开奖号3 开奖号1遗漏值
------------------------------------------------
2008356 5 6 1 x(未知上次出现5的位置)2009001 3 3 6 x(未知上次出现3的位置)
2009002 7 1 3 x(未知上次出现7的位置)
2009003 5 0 3 2(2009003期与2008356期之间间隔2)现在就是想求直选遗漏值:就是求当前期的开奖号1 与上次出现被遗漏过几次?现在是由前三列值,咋求取第四列的值( 开奖号1遗漏值)用SQL语句实现输出!
我看到是子查询的记录是正序,取id=2的记录1 2009001 5 3 6 3 5 6 2 6 3
2 2009005 5 9 6 5 6 9 2 6 3
3 2009008 5 3 6 3 5 6 2 6 3但是我是想取倒序的id=2的值咋写sql?
先把相同列记录取出后取倒第二条记录
-----------------------------------------------
3 2009008 5 3 6 3 5 6 2 6 3
2 2009005 5 9 6 5 6 9 2 6 3
1 2009001 5 3 6 3 5 6 2 6 3
要是id是正序 ,取第二条就对了!但是?
select
*
from
(select id=row_number() over (partition by c2 order by c2 desc),* from tb )t
where
c2=5 order by c1 desc
这样是可以排序,但是取第二条记录不能是id=2?应该是max(id)-1?咋办,是不是太复杂了?
id=row_number() over (partition by c2 order by c2 desc)这个id
但是这个id是列相同记录的id相减是1呀?
3 2009008 5 3 6 3 5 6 2 6 3
2 2009005 5 9 6 5 6 9 2 6 3
1 2009001 5 3 6 3 5 6 2 6 3
看这样,id?
我是真的晕了;能不能补充完整,咋弄?
+ _Id + " and Id>"
+ "(select Max(Id) from tb3D where MaxNum=" + _maxnum + " and Id<" + _Id + ")";
拼接下就行了,就是用count()