回 帖 发 新 帖 刷新版面

主题:统计及删除问题,请帮忙

mydbfa

记录号   id      mchr1        mchr2      标志符    重复数 
 
  1     0001    7354920afs  kdleytweaws             
  2     0002    4354921afs  jdleltweaiw             
  3     0003    1324920afs  jdlkytwefis             
......
100     0004    7354920afs  jdleytweais             
101     0005    7354920afs  jwerttwerty             
102     0006    7354920afs  jdleyrertts             
201     0007    7354920afs  jdlewerytub             
...
300     0018    7354920afs  jdleytweais             
...
480     0021    7354920afs  jdlefdsfais             
...
500     0301    7354920afs  jdfjdkslais             


mydbfb

记录号        mchr1        mchr2       
 
  1         7eww920afs  kdleytweaws             
  2         43ew921afs  jdleltweaiw             
  3         132erw0afs  jdlkytwefis             
......
100284      7354sdfafs  jdleytweais             
101016      73sdf20afs  jwerttwerty             
102905      73fde20afs  jdleyrertts             
201102      73fds20afs  jdlewerytub             
...
300000      73fee20afs  jdleytweais             
...
480000      735qwerafs  jdlefdsfais             
...
2200456     7sjdhjwefs  jdfjdkslais             

ma=5
mb=10
mc1=1
mc2=300

查询 表mydbfb 中所有记录的  mchr1 在表 mydbfa 中 第1-300的记录范围内,重复5-10次的记录

有统计表A中记录数的好办法吗,要求统计出来的结果:

    mchr1        mchr2      统计数 
  7354920afs  kdleytweaws    5         
  4354921afs  jdleltweaiw    10         
  1324920afs  jdlkytwefis    8         
......
  7354920afs  jdleytweais    25          
  7354920afs  jwerttwerty    1         
....


select *,count(mchr1) as ntj from mydbfa WHERE between(recno('mydbfa'),1,300) group by mydbfa.mchr1 INTO CURSOR mcur


**先统计表 mydbfa 中 第1-300记录的不同 MCHAR1 的记录数
但老是同错 ***显示: SQL: 缺少GROUP BY 子句或 GROUP BY 子句无效
本人也不知什么原因,怎样才能统计?

这样的话就可能根据统计数来判定表B中的记录是否要删除

Delete from mydbfb WHERE mydbfb.mchr1 exit ;

(select * from mydbfa where BETWEEN(mcur.ntj,ma,mb))

不知是否对的,望指点

回复列表 (共2个回复)

沙发

delete from mydbfb where mchr1 in (select b from (select count(1) as a,mchr1 as b  from mydbfa where 300条记录的条件 groupby mchr1) where a>5)

板凳

delete from mydbfb where mchr1 in 
(select b from 
(select count(1) as a,mchr1 as b  from mydbfa where 300条记录的条件 groupby mchr1)
as table1 
where a>5)

刚才写的错了   忘记从新定义表别名了

我来回复

您尚未登录,请登录后再回复。点此登录或注册