聚合函数

73.Python中ORM聚合函数详解:Count

南笙酒味 提交于 2020-02-03 22:31:34
Count:用来求某个数据的个数。 在以下所有的示例中所采用的模型为: from django.db import models # 定义作者模型 class Author(models.Model): name = models.CharField(max_length=100, unique=True) age = models.IntegerField() email = models.EmailField() class Meta: db_table = 'author' def __str__(self): return "%s,%s,%s" % (self.name,self.age, self.email) # 定义出版社模型 class Publisher(models.Model): name = models.CharField(max_length=100,unique=True) class Meta: db_table = 'publisher' # 定义图书模型 class Book(models.Model): name = models.CharField(max_length=100, unique=True) pages = models.IntegerField() price = models.FloatField() rating =

74.Python中ORM聚合函数详解:Max,Min

江枫思渺然 提交于 2020-02-03 22:25:43
Max和Min:获取指定对象的最大值和最小值。 1. 比如:想要获取Author表中的最大的年龄和最小的年龄。示例代码如下: from django.http import HttpResponse from .models import Author from django.db.models import Max, Min from django.db import connection def index(request): # Max和Min result = Author.objects.aggregate(max_age=Max('age'),min_age=Min('age')) print(result) return HttpResponse("success !") 输出结果: {'max_age': 57, 'min_age': 34} 同样可以打印出django底层使用的原生SQL语句: print(connection.queries) [{'sql': 'SELECT @@SQL_AUTO_IS_NULL', 'time': '0.000'}, {'sql': 'SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED', 'time': '0.000'}, {'sql': 'SELECT MAX(

sql join连接 及 聚合函数

两盒软妹~` 提交于 2020-02-03 18:03:28
1 sql语句基础 sql(结构化查询语言)分为两个部分:DML,DDL DML 数据操作语言(查询和更新指令) 指令 含义 select 获取数据 update 更新数据 delete 删除数据 insert 插入数据 DDL 数据定义语言(create / alter / drop) 创建/修改/删除 database/table 创建/删除 index 2 聚合函数 聚合函数 count 配合 group by / having mysql聚合函数如:count(), max(), min(), sum()等 group by 将数据库的数据用’by’后面接的规则进行分组 having是分组(group by)后的筛选条件; where则是在分组前筛选 select activity_name, count(*) as count from draw_relation_record GROUP BY activity_name HAVING count(activity_name) > 4 select 与 group by配合使用时 在有group by操作中,select后面接的结果集字段只有两种:要么就只有group by后出现的字段,要么就是group by后出现的字段+聚合函数的组合 常用的五种聚合函数:min()求列中最小数值,max()求列中最大数值,avg(

Flink之聚合、WindowFunction

天涯浪子 提交于 2020-02-01 23:07:51
一、WindowFunction Flink提供了四种类型Window Function,其中有ReduceFunction、AggregateFunction、FlodFunction和ProcessWindowFunction。其中ReduceFunction、AggregateFunction、FlodFunction根据计算原理,属于增量聚合函数,而ProcessWindowFunction属于全量聚合函数。增量聚合函数是基于中间状态计算结果的,窗口中只维护中间状态结果值,不需要缓存原始的数据,而全量窗口函数在窗口触发时对所有的原始数据进行汇总计算,因此相对性能会较差。 ReduceFunction 增量聚合 AggregateFunction 增量聚合 FlodFunction 已废弃,推荐使用AggregateFunction ProcessWindowFunction 全量聚合 二、ReduceFunction x以前的聚合结果,y下一个数据,输入输出都为同类型数据 . reduce ( new ReduceFunction [ Sensor ] { override def reduce ( x : Sensor , y : Sensor ) : Sensor = { Sensor ( x . id , x . timestamp + 1 , y .

LitePal的聚合函数

大城市里の小女人 提交于 2020-01-31 02:00:37
传统的聚合函数用法 虽说是聚合函数,但它的用法其实和传统的查询还是差不多的,即仍然使用的是select语句。但是在select语句当中我们通常不会再去指定列名,而是将需要统计的列名传入到聚合函数当中,那么执行select语句使用的还是SQLiteDatabase中的rawQuery()方法。下面我们来尝试一下,比如说想要统计news表中一共有多少行,就可以这样写: SQLiteDatabase db = dbHelper.getWritableDatabase(); Cursor c = db.rawQuery("select count(1) from news", null); if (c != null && c.moveToFirst()) { int count = c.getInt(0); Log.d("TAG", "result is " + count); } c.close(); 可以看到,在rawQuery()方法中我们指定了一个聚合查询语句,其中count(1)就是用于去统计一共有多少行的。当然这里并不一定要用count(1),使用count(*)或者count(主键)都可以。然后rawQuery()方法返回的是一个Cursor对象,我们从这个Cursor当中取出第一行第一列的数据,这也就是统计出的结果了。

mysql语句的执行顺序

风格不统一 提交于 2020-01-30 20:09:28
sql 执行顺序 from ------where ------ 定义别名- ------ group by(开始使用select中的别名,group by 中不能用聚合函数) ------having(having 可以使用聚合函数) ------select ------order by 来源: CSDN 作者: nancy小心心 链接: https://blog.csdn.net/weixin_43548518/article/details/104116161

Inductive Representation Learning on Large Graphs阅读笔记

ⅰ亾dé卋堺 提交于 2020-01-30 16:03:04
1 摘要 在大图中,低维的节点表示在很多预测任务中都很有用,比如内容推荐和确定蛋白质的功能。但是,在训练嵌入时,现有的方法需要所有的节点都参与(也即现有的方法都是直推式的),不能很好地繁华到不可见的节点上。本文提出GraphSAGE,利用节点的特征信息(如文本属性)来有效地为不可见的节点生成嵌入。不是直接为每个节点训练唯一的嵌入,而是学习一个函数通过采样和聚合节点的邻居特征来产生节点的特征。 简介 节点嵌入方法的基本思想是利用降维技术从节点的邻居的高维信息中提取出一个稠密向量。这些节点嵌入可以作为下游任务的输入。以前的工作关注于嵌入单个固定的图中的节点,而很多实际应用需要很快地为不可见的节点甚至完全新的图生成嵌入。这种推断式的能力对于演化图或者不断遇到不可见节点的应用来说非常重要。推断式生成节点嵌入的方法还能促进跨图的泛化,比如,我们可以训练一个典型的有机体的PPI交互网络嵌入生成器,然后利用训练好的模型为新的有机体中的数据产生节点嵌入。 推断式的节点嵌入问题比直推式的要困难,因为泛化到不可见的节点时需要将新观察到的子图与算法已经优化的节点嵌入进行‘对齐’,推断式的框架必须能识别节点邻居的结构特征。 提出的方法:提出了推断式嵌入的一般框架GraphSAGE.不同于基于矩阵分解的方法,此方法利用节点特征(如文本属性,节点配置信息,节点的度)来学习一个嵌入方程以得出不可见节点的嵌入

Django 数据聚合函数 annotate

隐身守侯 提交于 2020-01-28 06:11:09
统计各个分类下的文章数 2 周,3 日前 字数 3818 阅读 546 评论 21 在我们的博客侧边栏有分类列表,显示博客已有的全部文章分类。现在想在分类名后显示该分类下有多少篇文章,该怎么做呢?最优雅的方式就是使用 Django 模型管理器的 annotate 方法。 模型回顾 回顾一下我们的模型代码,Django 博客有一个 Post 和 Category 模型,分别表示文章和分类: blog/models.py class Post(models.Model): title = models.CharField(max_length=70) body = models.TextField() category = models.ForeignKey('Category') # 其它属性... def __str__(self): return self.title class Category(models.Model): name = models.CharField(max_length=100) 我们知道从数据库取数据都是使用模型管理器 objects 的方法实现的。比如获取全部分类是: Category.objects.all() ,假设有一个名为 test 的分类,那么获取该分类的方法是: Category.objects.get(name='test')

SQL基础教程(第2版)第8章 SQL高级处理:8-1 窗口函数

喜你入骨 提交于 2020-01-27 15:18:26
8-1 窗口函数 ● 窗口函数可以进行排序、生成序列号等一般的聚合函数无法实现的高级操作。 ● 理解 PARTITION BY 和 ORDER BY 这两个关键字的含义十分重要。 ■ 什么是窗口函数 在Oracle和 SQL Server中称为分析函数。 但是 MySQL 的5.7版本还是不支持窗口函数 。 OLAP 是 OnLine Analytical Processing 的简称,意思是对数据库数据进行实时分析处理。 例如,市场分析、创建财务报表、创建计划等日常性商务工作。 窗口函数就是为了实现 OLAP 而添加的标准 SQL 功能。 ■ 窗口函数的语法 窗口函数大体可以分为以下两种。 ① 能够作为窗口函数的聚合函数( SUM 、 AVG 、 COUNT 、 MAX 、 MIN ) ② RANK 、 DENSE _ RANK 、 ROW _ NUMBER 等 专用窗口函数 ■ 语法的基本使用方法——使用 RANK 函数 正如其名称所示, RANK 是用来计算记录排序的函数。 例如,对于之前使用过的 Product 表中的 8 件商品,让我们根据不同的商品种类( product_type ),按照销售单价( sale_price )从低到高的顺序排序,结果如下所示。 PARTITION BY 能够设定排序的对象范围。 ORDER BY 能够指定按照哪一列、何种顺序进行排序。

SQL入门经典(二) 之数据库基本查询、添加、更新和删除

大城市里の小女人 提交于 2020-01-27 02:06:50
使用SQL查询: SQL查询基本语法: SELECT [ALL|DISTINCT] [TOP (<expression>) [PERCENT] [WITH TIES] ] <column list> [FROM <source table(s)/view>] [WHERE <restrictive condition>] [GROUD BY<column name or expression using a column in the SELECT list>] [HAVING <restrictive condition based on the GROUP BY results>] [ORDER BY <column list>] [[FOR XML {ROW|AUTO|EXPLICIT|PATH[(<element>)]},XMLDATA][,ELEMENTS][,BINARY base 64]] [OPTION (<query hint>,[,.....n])] 上面sql语句看起来很复杂。现在大家一一讲解。 SELECT 告诉sql执行什么操作。FROM 要操作的是那个表(注意事项:查询中不能使用*作为字段。查询多少字段,就写多少字段名称) SELECT * FROM Person.Contact --我要在Person.Contact这个表查询 WHERE 查询条件过滤