有一个表a,里面数据如下地区 时间 粒子编号
a1 b1 bh1
a2 b2 bh1
a3 b3 bh3
a4 b4 bh2
a5 b5 bh3
... ... ...有一群粒子出现在X1位置一段时间[ where 出现时间 between 'xxxxx' and 'yyyyy' and 位置='X1'];
之后出现在X2位置一段时间
……
最后出现在Xn位置一段时间;
此时我想筛选得到这样的粒子列表:
出现在所有位置的粒子为最大可能性粒子,可能性为100%;
出现在n-1个位置的粒子为可能性为(n-1)/n的粒子;
……
直到可能性为1/n的粒子;---------------------------
我的思考过程是这样的:
出现在x1位置一段时间的粒子记录到table1;
出现在x2位置一段时间的粒子记录到table2;
...
出现在xn位置一段时间的粒子记录到tablen;
然后这些tables之间进行比对,先两两比对:table1 inner join table2 得到tableB1,table1 inner join table3 得到tableB2...
比对结果在进行比对:tableB1 inner join table3,这样相当于3个表比对筛选出结果;
最后发现这样做似乎很复杂,不知道有哪个大侠能指点下有没有其他方法。
a1 b1 bh1
a2 b2 bh1
a3 b3 bh3
a4 b4 bh2
a5 b5 bh3
... ... ...有一群粒子出现在X1位置一段时间[ where 出现时间 between 'xxxxx' and 'yyyyy' and 位置='X1'];
之后出现在X2位置一段时间
……
最后出现在Xn位置一段时间;
此时我想筛选得到这样的粒子列表:
出现在所有位置的粒子为最大可能性粒子,可能性为100%;
出现在n-1个位置的粒子为可能性为(n-1)/n的粒子;
……
直到可能性为1/n的粒子;---------------------------
我的思考过程是这样的:
出现在x1位置一段时间的粒子记录到table1;
出现在x2位置一段时间的粒子记录到table2;
...
出现在xn位置一段时间的粒子记录到tablen;
然后这些tables之间进行比对,先两两比对:table1 inner join table2 得到tableB1,table1 inner join table3 得到tableB2...
比对结果在进行比对:tableB1 inner join table3,这样相当于3个表比对筛选出结果;
最后发现这样做似乎很复杂,不知道有哪个大侠能指点下有没有其他方法。
然后这些tables之间进行比对,先两两比对:table1 inner join table2 得到tableB1,table1 inner join table3 得到tableB2...
比对结果在进行比对:tableB1 inner join table3,这样相当于3个表比对筛选出结果;
------
比如设置a,b,c,d四个监测器,发射一堆粒子,最需要的找到在abcd都有记录的粒子,其次是经过abc或者abd或者bcd的粒子,再其次是经过ab,ac,ad,bc,bd,cd的粒子。
for (j=1;j<m;j++)//遍历粒子
for (i=0;i<n;i++)//遍历记录粒子位置的表
a[j]= select count(*) from x[i] where 编号=粒子编号 ;//找到记录
a[j]+=a[j]; //统计记录数最后在a[m] 中取最大的 就是最有价值的
sql 语法应该 select a记录 inner join b记录 where a记录.粒子编号=b记录.粒子编号;
或者select * from a记录 where a记录.粒子编号 in (select b记录.粒子编号 from b记录);
上面是2个表联查,三个表联查需要把上面的结果集弄出来在和c记录进行比对。
sql 语法应该 select a记录 inner join b记录 where a记录.粒子编号=b记录.粒子编号;
或者select * from a记录 where a记录.粒子编号 in (select b记录.粒子编号 from b记录);
上面是2个表联查,三个表联查需要把上面的结果集弄出来在和c记录进行比对。,inner join on,写错了。
也不知道记录器里面有没有需要找的粒子记录。--如果记录器里没有这个粒子的记录 count 值就是0了嘛
不知道我理解的有没有问题 楼主帮忙指正下
个人理解 楼主的问题 就是以下的意思:n 张表中 找到 记录条数最多的粒子
for v_bhn in (select 粒子编号 from a ) loop
通过 这个粒子编号(v_bhn ) 在 你所记录的 table 这一系列表中找到具体粒子记录
然后用 n_count 记录一个粒子在所有表中的记录数总和
具体 tablei 这个i 值可以通过 sql 拼接 在循环里取到