avg

【mysql必知必会】第十二章 汇总数据

佐手、 提交于 2020-03-19 09:16:10
1、聚集函数(aggregate function):运行在行组上,计算和返回单个值得函数。   AVG()  返回某列的平均值   COUNT()  返回某列的行数   MAX()  返回某列的最大值   MIN()  返回某列的最小值   SUM()  返回某列值之和 2、AVG()函数   输入:   SELECT AVG(prod_price) AS avg_price   FROM products;   输出:   avg_price   16.133   分析:从products表取出prod_price列求出平均值,为新列命名为avg_price.      注:AVG()可以确定特定列特定行的平均值   输入:   SELECT AVG(prod_price) AS avg_price   FROM products;   WHERE vend_id = 1003;   输出:   avg_price   13.21   分析:从products表,取出prod_price列中vend_id = 1003的行,求出平均值,为新列命名为avg_price.   注:   1、AVG()只能用于单个列,要求多个列的平均值要用多个AVG()函数?   2、AVG()函数忽略值为null的行。 3、COUNT()函数   COUNT(

SQL 表查询之内连接

淺唱寂寞╮ 提交于 2020-03-15 19:29:47
1 # 查询每名员工的部门信息,用ON子句规定表连接条件 2 SELECT e.empno,e.ename,d.dname FROM t_emp e JOIN t_dept d ON e.deptno=d.deptno; 3 # 多种内连接写法 4 SELECT e.empno,e.ename,d.dname FROM t_emp e JOIN t_dept d WHERE e.deptno=d.deptno; 5 SELECT e.empno,e.ename,d.dname FROM t_emp e , t_dept d WHERE e.deptno=d.deptno; 6 # 查询每个员工工号,姓名,部门名称,底薪,职位,工资等级 7 SELECT e.empno,e.ename,d.dname,e.sal,e.job,s.grade FROM t_emp e,t_dept d,t_salgrade s WHERE e.deptno=d.deptno AND e.sal BETWEEN s.losal AND s.hisal ORDER BY s.grade; 8 # 查找与SCOTT部门相同的员工都有谁 9 # 子查询方式 10 SELECT ename FROM t_emp WHERE deptno=(SELECT deptno FROM t_emp WHERE ename

SQL 必知必会·笔记<7>汇总数据——使用聚合函数

蓝咒 提交于 2020-03-07 05:23:55
有时候我们需要对表中的数据进行汇总,而不需要数据本身,为了方便这些类型的检索,SQL给出了5个聚合函数,SQL聚合函数在各主要的SQL实现中得到了相当一致的支持。如下: 1.1 AVG()函数 AVG() 通过对表中行数计数并计算其列值之和,求得该列的平均值 //AVG()示例: SELECT AVG(prod_price) AS avg_price FROM Products WHERE vend_id = 'DLL01'; 注意:只用于单个列 AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参 数给出。为了获得多个列的平均值,必须使用多个AVG()函数。 说明:NULL 值 AVG()函数忽略列值为NULL 的行。 1.2 COUNT()函数 COUNT() 可以确定表中行的数目或符合特定条件的行的数目。 COUNT()函数的两种使用方式 使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。 使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL 值。 //示例 SELECT COUNT(*) AS num_cust FROM Customers; 说明:NULL 值 如果指定列名,则COUNT()函数会忽略指定列的值为空的行,但如果 COUNT()函数中用的是星号(*),则不忽略。 1.3 MAX()函数

72.Python中ORM聚合函数详解:Avg,aggregate,annotate

て烟熏妆下的殇ゞ 提交于 2020-02-03 22:34:59
聚合函数: 如果你用原生SQL语句,则可以使用聚合函数提取数据。比如提取某个商品销售的数量,那么就可以使用Count,如果想要知道销售的平均价格,那么就可以使用Avg。 聚合函数是通过aggregate方法来实现的,在讲解这些聚合函数的用法的时候,都是基于以下的模型来实现的。 示例代码如下: '''python #模型要放在app当中。所以首先要在终端命令行窗口,执行命令: python manage.py startapp front 同时要将新创建的app添加到settings.py文件中的INSTALLED_APPS变量中。 同时要配置完全pycharm和数据库的连接信息。 settings.py文件中示例代码如下: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'orm_aggregate_demo', 'USER': 'root', 'PASSWORD': 'root', 'HOST': '127.0.0.1', 'PORT': '3306', } } models.py文件中示例代码如下: from django.db import models # 定义作者的模型 class Author(models.Model): <!-- 指定unique=True

jmeter学习-确认拐点

坚强是说给别人听的谎言 提交于 2020-01-16 03:04:46
1、使用场景 寻找最大并发用户数 ,最大并发用户数有一个公式:c=nL/T.其中n为每天访问系统的用户数,L为在线用户从登陆到退出的时间,T为用户每天使用系统大概多长时间。将我们测试找到的最大用户数跟该公式计算出来的对比,就可判断系统性能是否满足条件了。 2、脚本 针对某个使用频率特别高的接口进行测试。如图: (1)线程数:为并发数,每个线程会完全独立的运行测试计划,互不干扰。 (2)ramp-up period:用户设置启动所有线程所需要的时间,如果选择了10个线程,并且ramp-up period为100秒,那么jmeter将使用100秒是10个线程启动,每个线程将在前一个线程启动后10(100/10)秒后启动 (3)设置循环次数:设置线程组结束前每个线程循环的次数,如果次数设置为1,那么jmeter在计划停止前只执行一次,若勾选了永远,则会一直执行(若下面设置了持续时间,则循环执行持续的时间后停止) (4)持续时间,控制测试执行的持续时间,若循环次数设置为1,执行该线程组的时间小于持续时间线程组也会停止。 注意:该线程组使用了事务控制器,其作用为当该线程组多个接口实现了一个用例,使用事务控制器会生成一个汇总的结果。 D:\software\apache-jmeter-3.3\bin>jmeter -n -t 拐点测试.jmx -l summary.jtl -e -o

Oracle——分组函数

隐身守侯 提交于 2019-12-17 10:26:28
AVG(平均值)和 SUM (合计)函数 可以对 数值型数据 使用AVG 和 SUM 函数。 AVG组函数忽略空值 --在组函数中使用NVL函数 --求平均值 sum(expr)/count(nvl(expr,0)) MIN(最小值)和 MAX(最大值)函数 可以对 任意 数据类型 的数据使用 MIN 和 MAX 函数。 SELECT MIN(hire_date), MAX(hire_date) FROM employees; COUNT(*) 返回表中记录总数,适用于 任意数据类 型。 SELECT COUNT(*) FROM employees WHERE department_id = 50; COUNT(expr) 返回 expr不为空 的记录总数。 COUNT(DISTINCT expr)返回 expr非空且不重复 的记录总数 SELECT COUNT(DISTINCT department_id) FROM employees; Group by 可以使用GROUP BY子句将表中的数据 分成若干组 ① 、WHERE一定放在FROM后面 select department_id ,avg(salary) from employees --where department_id in(20,30,40) group by department_id ②、在SELECT

orm常用操作

自作多情 提交于 2019-12-10 01:51:15
一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时。 id字段是自动添加的,如果你想要指定自定义主键,只需在其中一个字段中指定 primary_key=True 即可。如果Django发现你已经明确地设置了Field.primary_key,它将不会添加自动ID列。 本示例中的CREATE TABLE SQL使用PostgreSQL语法进行格式化,但值得注意的是,Django会根据配置文件中指定的数据库后端类型来生成相应的SQL语句。 Django支持MySQL5.5及更高版本。 Django ORM 常用字段和参数 常用字段 AutoField int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。 IntegerField 一个整数类型,范围在 -2147483648 to 2147483647。(一般不用它来存手机号(位数也不够),直接用字符串存,) CharField 字符类型,必须提供max_length参数, max_length表示字符长度。 这里需要知道的是Django中的CharField对应的MySQL数据库中的varchar类型

【6】查询练习:Group by 分组

家住魔仙堡 提交于 2019-12-06 12:31:41
1.查询每门课的平均成绩: mysql> select * from course; +----------+-----------+---------+ | cour_num | cour_name | tea_num | +----------+-----------+---------+ | 1-245 | Math | 0438 | | 2-271 | Circuit | 0435 | | 3-105 | OS | 0435 | | 4-321 | Bio | 0436 | +----------+-----------+---------+ mysql> select * from score; +---------+----------+--------+ | stu_num | cour_num | degree | +---------+----------+--------+ | 11422 | 3-105 | 92 | | 11423 | 1-245 | 84 | | 11423 | 2-271 | 75 | | 11424 | 4-321 | 75 | | 11425 | 2-271 | 89 | | 11426 | 1-245 | 61 | | 11426 | 2-271 | 82 | | 11427 | 1-245 | 78 | +---------+--

SQL-W3School-函数:SQL AVG() 函数

烈酒焚心 提交于 2019-12-04 01:57:28
ylbtech-SQL-W3School-函数:SQL AVG() 函数 1. 返回顶部 1、 定义和用法 AVG 函数返回数值列的平均值。 NULL 值不包括在计算中 。 SQL AVG() 语法 SELECT AVG(column_name) FROM table_name SQL AVG() 实例 我们拥有下面这个 "Orders" 表: O_Id OrderDate OrderPrice Customer 1 2008/12/29 1000 Bush 2 2008/11/23 1600 Carter 3 2008/10/05 700 Bush 4 2008/09/28 300 Bush 5 2008/08/06 2000 Adams 6 2008/07/21 100 Carter 例子 1 现在,我们希望计算 "OrderPrice" 字段的平均值。 我们使用如下 SQL 语句: SELECT AVG(OrderPrice) AS OrderAverage FROM Orders 结果集类似这样: OrderAverage 950 例子 2 现在,我们希望找到 OrderPrice 值高于 OrderPrice 平均值的客户。 我们使用如下 SQL 语句: SELECT Customer FROM Orders WHERE OrderPrice>(SELECT AVG

data.table row-wise sum, mean, min, max like dplyr?

匿名 (未验证) 提交于 2019-12-03 01:23:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: There are other posts about row-wise operators on datatable. They are either too simple or solves a specific scenario My question here is more generic. There is a solution using dplyr. I have played around but failed to find a an equivalent solution using data.table syntax. Can you please suggest an elegant data.table solution that reproduce the same results than the dplyr version? EDIT 1 : Summary of benchmarks of the suggested solutions on real dataset (10MB, 73000 rows, stats made on 24 numeric columns). The benchmark results is