数据表抽检
一个表有上万条记录,有一个字段为年份,值有2014,2013,2012.我想从这个字段中每一年都按10%随机抽取记录生成一个新的表,该如何写程序?谢谢!
CLEAR ALL CLOSE ALL * 建立空结果表 curResult SELECT 0 AS id,* FROM 表 WHERE .f. INTO CURSOR curResult READWRITE * 添加随机数列形成新表 t1 SELECT RAND() as id,* FROM 表 INTO CURSOR t1 * 统计各年份的记录数形成新表 t2 SELECT 年份,CNT(*) as 记录数 FROM 表 GROUP BY 年份 INTO CURSOR t2 * 按各年份记录数的10%,筛选记录到结果表 curResult SELECT t2 SCAN INSERT INTO curResult ; SELECT TOP IIF(t2.记录数*0.1<1,1,t2.记录数*0.1) * ; FROM t1 ; WHERE 年份 = t2.年份 ; ORDER BY 年份,id ENDSCAN * 显示查询结果 SELECT curResult ALTER TABLE curResult drop COLUMN id GO TOP BROWSE