第1张表是表结构说明,第2张表是表内容,第3张表也是表结构说明,第4张表是结果表的名字
附加题
若结果采用分布式存储,例如结果存放在192.168.123.124/125上,如何统计每天每个任务提交者所提任务对应结果中标记为1的记录数占当天结果总数的比例
我的回答:
1).
/*得到当日总的任务提交数*/
SELECT COUNT(able_a.id) as 任务提交数 FROM table_a WHERE task_owner LIKE 当天日期;
/*查询到所要收集的任务提交者当日所提交任务数*/
SELECT COUNT(ID)/当天任务总数 FROM table_a GROUP BY task_owner WHERE task_ownerAND task_create_time LIKE 当天日期;
/*若将查询结果保存至新表*/
SELECT (查询语句) INTO 新表;
/*将该任务查询结果导出为TXT格式*/
SELECT * FROM 表,INTO OUTFILE '路径/文件名.txt';
2.)
/*得到当日任务结果数*/
SELECT SUM(任务数) as 总数 FROM table_a WHERE task_create_time LIKE 当天日期;
/*计算得出占当日结果总数*/
SELEC列名,SUM(任务数)/总数*100% FROM table_a GROUP BY task_owner WHERE task_create_time LIKE 当天日期;
/*若将查询结果保存至新表*/
SELECT (查询语句) INTO 新表;
/*将该任务查询结果导出为TXT格式*/
SELECT * FROM 表,INTO OUTFILE '路径/文件名.txt';
3).
/*得到当日结果总数*/
SELECT SUM(任务数) as 总数 FROM table_a WHERE task_create_time LIKE 当天日期;
/*得到当日任务提交人提交结果id*/
SELECT id AS (筛选出的id) FROM table_a GROUP BY task_owner WHERE task_create_time LIKE 当天日期 ADD 任务人;
/*表1表2 id相同->对应结果flag为1占结果总数比*/
SELECT COUNT(ID)/(总数)*100% FROM table_2 WHERE (筛选出的id)=(表2的id) AND FLAG =1;
附加题).
若使用分布式存储查询保存数据,利用链接服务器方式实现数据访问远程服务器数据库
/*访问服务器数据*/
SELECT * FROM 库名{
‘SQLOLDB’,
‘Date Sorece=192.168.123.124/125;User ID=idname;Password=**’
}.库名.dbo.表名
WHERE (...查询语句)