测试模型后sql整理
时间:2020-01-07
本文章向大家介绍测试模型后sql整理,主要包括测试模型后sql整理使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
最近测试了一个分析模型,没有页面,测试工作为数据库数据验证。
根据数据分析师提供的计算公式,查询数据库数据验证结果值。
mape=abs(si-sj)/∑sj_m
碰到了以下问题:
一、DBeaver工具Hana库表跨库查询
A表在user1账号下,B表在user2账号下,两表需关联,涉及到跨库查表。
开通权限后,直接加前缀查询即可。
例如:
SELECT * FROM user2.B
Hana连接后,加粗的表即为登录的账号。
二、数据库中存在每日重复数据,需要以月份维度来统计
1.对每日数据进行分组求和。
select date,name,sum(day_cnt) as num from user2.B where date>='2018-01-01' group by date,name
查询结果为:
2.截取date前7位数据,并且按月份求和。
- 用到了substr('HelloWorld',0,3)函数,先对字段进行截取。
select substr(date,0,7) AS date ,substr(name,0,2) as name,sum(day_cnt) as num --截取时间前7位,系列前2位 from uesr2.B where date>='2018-01-01' group by date,name
查询结果:
- 再按照月份求和。
SELECT name,date,sum (num) AS value FROM (select substr(date,0,7) AS date ,substr(name,0,2) as name,sum(day_cnt) as num from user2.B where report_date>='2018-01-01' group by date,name) WHERE name IN ('01','02','03') GROUP BY date,name
查询结果:
三、以上查询结果需要与其他表关联,或者作为公共部分
用到了with a as()临时结果集,如果有多个可以这样写with a as(),b as()
with a as(SELECT name,date,sum (num) AS value FROM (select substr(date,0,7) AS date ,substr(name,0,2) as name,sum(day_cnt) as num from user2.B where report_date>='2018-01-01' group by date,name) WHERE name IN ('01','02','03') GROUP BY date,name)
那么我们下次查询时,就可以:
SELECT * FROM a
四、计算公式
abs(a.value - b.value) absvalue
c.absvalue * 100 / b.zh
就可以实现了。
原文地址:https://www.cnblogs.com/shengyin/p/12161911.html
- 谈谈Nullable<T>的类型转换问题
- ASP.NET MVC是如何运行的(3): Controller的激活
- ASP.NET MVC是如何运行的[2]: URL路由
- 一个简单的小程序演示Unity的三种依赖注入方式
- 在Entity Framework中使用存储过程(三):逻辑删除的实现与自增长列值返回
- 在Entity Framework中使用存储过程(四):如何为Delete存储过程参数赋上Current值?
- ASP.NET MVC是如何运行的(4): Action的执行
- ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用
- 在Entity Framework中使用存储过程(五):如何通过存储过程维护多对多关系?
- ASP.NET MVC下基于异常处理的完整解决方案
- 不到40行代码构建正则表达式引擎
- 随便写一篇文章
- Java 10新特性解密
- Android组件化框架项目详解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Ubuntu16.04 安装Teamviewer的教程详解
- 01 . OpenResty简介部署,优缺点,压测,适用场景及用Lua实现服务灰度发布
- 详解Linux iptables 命令
- 详解fedora 开启 apache 并 开启目录浏览模式
- CentOS新建用户并使能密钥登录的方法
- Linux系统扩容根目录磁盘空间的操作方法
- Linux如何查看进程栈信息示例
- linux查看硬盘大小与挂载硬盘的实现
- centos6.5 安装hadoop1.2.1的教程详解【亲测版】
- Linux中没有rc.local文件的完美解决方法
- 详解linux lcd驱动编写
- Linux下安装telnet的方法
- Linux 安装二进制MySQL 及 破解MySQL密码的方法
- Linux创建进程达到65535的方法
- SSH 上传文件及文件夹到linux服务器的方法