,必须出现在group by子句后出现),MySQL中可以不用 having 对分组结果指定条件,如:[大于60分] order by 对查询结果排序,如:[增序: 成绩 ASC / 降序: 成绩 DESC...推荐:250期面试题汇总 学生表的“学号”列设置为主键约束,下图是每一列设置的数据类型和约束 创建完表,点击“保存” 2)创建成绩表(score) 同样的步骤,创建"成绩表“。...教师姓名 like '孟%'; 2.汇总统计分组分析 面试题:查询课程编号为“0002”的总成绩 --分析思路 --select 查询结果 [总成绩:汇总函数sum] --from 从哪张表中查找数据...最低分 from score group by 课程号; 查询每门课程被选修的学生数 /* 分析思路 select 查询结果 [课程号,选修该课程的学生数:汇总函数count] from 从哪张表中查找数据...成绩 <60 order by 成绩 desc; 统计每门课程的学生选修人数(超过2人的课程才统计) 要求输出课程号和选修人数,查询结果按人数降序排序,若人数相同,按课程号升序排序 /* 分析思路
),MySQL中可以不用 having 对分组结果指定条件,如:[大于60分] order by 对查询结果排序,如:[增序: 成绩 ASC / 降序: 成绩 DESC]; limit 使用limt子句返回...1.创建表 1)创建学生表(student) 按下图在客户端navicat里创建学生表。推荐:250期面试题汇总 ? 学生表的“学号”列设置为主键约束,下图是每一列设置的数据类型和约束 ?...4)教师表(teacher) 教师表的“教师号”列设置为主键约束,教师姓名这一列设置约束为“null”(红框的地方不勾选),表示这一列允许包含空值(null)。推荐:250期面试题汇总 ?...查询姓“猴”的学生名单 ? 查询姓“孟”老师的个数 select count(教师号) from teacher where 教师姓名 like '孟%'; 2.汇总统计分组分析 ?...成绩 <60 order by 成绩 desc; 统计每门课程的学生选修人数(超过2人的课程才统计) 要求输出课程号和选修人数,查询结果按人数降序排序,若人数相同,按课程号升序排序 /* 分析思路
目录 SQL基础知识整理: 常见的SQL面试题:经典50题 三、50道面试题 2.汇总统计分组分析 3.复杂查询 sql面试题:topN问题 4.多表查询 【面试题类型总结】这类题目属于行列如何互换...(如何你还不懂什么是数据库,什么是客户端navicat,可以先学习这个: 1.创建表 1)创建学生表(student) 按下图在客户端navicat里创建学生表 学生表的“学号”列设置为主键约束,下图是每一列设置的数据类型和约束...) 教师表的“教师号”列设置为主键约束, 教师姓名这一列设置约束为“null”(红框的地方不勾选),表示这一列允许包含空值(null) 2.向表中添加数据 1)向学生表里添加数据 添加数据的sql...教师姓名 like '孟%'; 2.汇总统计分组分析 面试题:查询课程编号为“0002”的总成绩 * 分析思路 select 查询结果 [总成绩:汇总函数sum] from 从哪张表中查找数据[成绩表...最低分 from score group by 课程号; 查询每门课程被选修的学生数 /* 分析思路 select 查询结果 [课程号,选修该课程的学生数:汇总函数count] from 从哪张表中查找数据
目录 SQL基础知识整理: 常见的SQL面试题:经典50题 三、50道面试题 2.汇总统计分组分析 3.复杂查询 sql面试题:topN问题 4.多表查询 【面试题类型总结】这类题目属于行列如何互换,解题思路如下...(如何你还不懂什么是数据库,什么是客户端navicat,可以先学习这个: 1.创建表 1)创建学生表(student) 按下图在客户端navicat里创建学生表 学生表的“学号”列设置为主键约束,下图是每一列设置的数据类型和约束...) 教师表的“教师号”列设置为主键约束, 教师姓名这一列设置约束为“null”(红框的地方不勾选),表示这一列允许包含空值(null) 2.向表中添加数据 1)向学生表里添加数据 添加数据的sql...教师姓名 like '孟%'; 2.汇总统计分组分析 面试题:查询课程编号为“0002”的总成绩 * 分析思路 select 查询结果 [总成绩:汇总函数sum] from 从哪张表中查找数据[成绩表...最低分 from score group by 课程号; 查询每门课程被选修的学生数 /* 分析思路 select 查询结果 [课程号,选修该课程的学生数:汇总函数count] from 从哪张表中查找数据
),MySQL中可以不用 having 对分组结果指定条件,如:[大于60分] order by 对查询结果排序,如:[增序: 成绩 ASC / 降序: 成绩 DESC]; limit 使用limt子句返回...学生表的“学号”列设置为主键约束,下图是每一列设置的数据类型和约束 创建完表,点击“保存” 2)创建成绩表(score) 同样的步骤,创建"成绩表“。...教师姓名 like '孟%'; 2.汇总统计分组分析 面试题:查询课程编号为“0002”的总成绩 --分析思路 --select 查询结果 [总成绩:汇总函数sum] --from 从哪张表中查找数据...最低分 from score group by 课程号; 查询每门课程被选修的学生数 /* 分析思路 select 查询结果 [课程号,选修该课程的学生数:汇总函数count] from 从哪张表中查找数据...成绩 <60 order by 成绩 desc; 统计每门课程的学生选修人数(超过2人的课程才统计) 要求输出课程号和选修人数,查询结果按人数降序排序,若人数相同,按课程号升序排序 /* 分析思路
by 分组,如:[每个学生的平均:按学号分组](oracle,SQL server中出现在select 子句后的非分组函数,必须出现在group by子句后出现),MySQL中可以不用 having...学生表的“学号”列设置为主键约束,下图是每一列设置的数据类型和约束 创建完表,点击“保存” 2)创建成绩表(score) 同样的步骤,创建"成绩表“。... 教师姓名 like '孟%'; 2.汇总统计分组分析 面试题:查询课程编号为“0002”的总成绩 --分析思路 --select 查询结果 [总成绩:汇总函数sum] --from 从哪张表中查找数据... 最低分 from score group by 课程号; 查询每门课程被选修的学生数 /* 分析思路 select 查询结果 [课程号,选修该课程的学生数:汇总函数count] from 从哪张表中查找数据...] from 从哪张表中查找数据 [] where 查询条件 [] group by 分组 [每门课程:按课程号分组] having 对分组结果指定条件 [学生选修人数(超过2人的课程才统计):每门课程学生人数
n行 df.tail(n):查看DataFrame对象的最后n行 df.shape():查看行数和列数 http:// df.info() :查看索引、数据类型和内存信息 df.describe():查看数值型列的汇总统计...agg(np.mean):返回按列col1分组的所有列的均值 data.apply(np.mean):对DataFrame中的每一列应用函数np.mean data.apply(np.max,axis=...df1的尾部 df1.join(df2,on=col1,how='inner'):对df1的列和df2的列执行SQL形式的join 数据统计 df.describe():查看数据值列的汇总统计 df.mean...():返回所有列的均值 df.corr():返回列与列之间的相关系数 df.count():返回每一列中的非空值的个数 df.max():返回每一列的最大值 df.min():返回每一列的最小值 df.median...():返回每一列的中位数 df.std():返回每一列的标准差
数据集如果用于统计与绘图,需要满足一定的格式要求,(Wickham, 2014) 称之为 整洁数据 (tidy data),基本要求是每行一个观测,每列一个变量,每个单元格恰好有一个数据值。...2.10 表格的拆分与合并 将同一列中的内容分为两列内容。或将两列内容合并为同一列内容。 首先还是可以创建一个数据框。...对于待分离的对象(col),不必加上引号;但对于即将创建的新列(into),需要使用引号,由于是两列,这里使用向量创建。sep参数设定读取表格信息时以何符号作为分隔符。...summarize(test, mean(Sepal.Length), sd(Sepal.Length)) 在有多个变量需要汇总时,summarise 的格式就会比较罗嗦。...将数据框按某列拆分为多个数据框,并储存在列表中。
而其中的几个聚合统计函数,不仅常用更富有辩证思想,细品之下不禁让人拍手称快、直呼叫好! ? 本文主要讲解pandas中的7个聚合统计相关函数,所用数据创建如下: ?...04 groupby groupby,顾名思义,是用于实现分组聚合统计的函数,与SQL中的group by逻辑类似。例如想统计前面成绩表中各门课的平均分,语句如下: ?...当然,groupby的强大之处在于,分组依据的字段可以不只一列。例如想统计各班每门课程的平均分,语句如下: ? 不只是分组依据可以用多列,聚合函数也可以是多个。...例如想同时统计各班每门课程的选修人数和平均分,语句如下: ?...数据透视表本质上仍然数据分组聚合的一种,只不过是以其中一列的唯一值结果作为行、另一列的唯一值结果作为列,然后对其中任意(行,列)取值坐标下的所有数值进行聚合统计,就好似完成了数据透视一般。
df.info() # 查看索引、数据类型和内存信息 df.columns() # 查看字段(首行)名称 df.describe() # 查看数值型列的汇总统计 s.value_counts(dropna...) # 返回按列col1分组的所有列的均值,支持df.groupby(col1).col2.agg(['min','max']) data.apply(np.mean) # 对DataFrame中的每一列应用函数...df.describe() #查看数据值列的汇总统计 df.mean() # 返回所有列的均值 df.corr() # 返回列与列之间的相关系数 df.count() # 返回每一列中的非空值的个数...df.max() # 返回每一列的最大值 df.min() # 返回每一列的最小值 df.median() # 返回每一列的中位数 pd.date_range('1/1/2000', periods=7...) df.std() # 返回每一列的标准差
2.DataFrame(数据框):DataFrame是Pandas库中的二维表格数据结构,类似于电子表格或SQL中的表。它由行和列组成,每列可以包含不同的数据类型。...DataFrame可以从各种数据源中创建,如CSV文件、Excel文件、数据库等。 3.Index(索引):索引是Pandas中用于标识和访问数据的标签。它可以是整数、字符串或其他数据类型。...6.数据聚合和分组:Pandas可以通过分组和聚合操作对数据进行统计和汇总。它支持常见的统计函数,如求和、均值、最大值、最小值等。...8.数据的合并和连接:Pandas可以将多个DataFrame对象进行合并和连接,支持基于列或行的合并操作。...# 查看DataFrame的统计信息 df.describe() 数据选择和过滤 # 选择单列 df['Name'] # 选择多列 df[['Name', 'Age']] # 使用条件选择数据
它们通常与GROUP BY子句一起使用,用于汇总数据。在Oracle中,常见的聚合函数有:个数、和、平均数、最大值、最小值等。聚合函数通常是我们分析数据或者统计数据时较为常用。...COUNT(DISTINCT column):计算某一列中不同值的数量,它会跳过重复的值,只计算不同的值,由于DISTINCT会使用排序,所以性能较慢。...【使用场景】SUM函数还可以与其他SQL函数(如GROUP BY、HAVING等)结合使用,以执行更复杂的查询和计算。此外,SUM函数还常用于分析类的统计,统计结果集的每一行中计算累积总和。...【定义】MAX(column):返回数值列的最大值。MIN(column):返回数值列的最小值。分组统计分组统计也是在统计学中常用的函数,这些函数我也不是很常用,所以不是很了解。...ROLLUP函数结果集中最后一列返回NULL,表示对所有分组列进行汇总。举例说明:按照领导分组,看下哪一个管理者手下薪资总和情况,顺便也把纳入计算的薪资统计下。下面就是一个很好的例子。
n行 df.tail(n) # 查看DataFrame对象的最后n行 df.shape() # 查看行数和列数 df.info() # 查看索引、数据类型和内存信息 df.describe()# 查看数值型列的汇总统计...'index_one'] # 按索引选取数据 df.iloc[0,:] # 返回第一行 df.iloc[0,0] # 返回第一列的第一个元素 数据统计: df.describe() # 查看数据值列的汇总统计...df.mean() # 返回所有列的均值 df.corr() # 返回列与列之间的相关系数 df.count() # 返回每一列中的非空值的个数 df.max() # 返回每一列的最大值 df.min...() # 返回每一列的最小值 df.median() # 返回每一列的中位数 df.std() # 返回每一列的标准差 数据合并: df1.append(df2) # 将df2中的行添加到df1的尾部...df.groupby(col1).agg(np.mean) # 返回按列col1分组的所有列的均值 data.apply(np.mean) # 对DataFrame中的每一列应用函数np.mean data.apply
大家好,又见面了,我是你们的朋友全栈君。 一、Select语句: select语句除了可以查看数据库中的表格和视图的信息外,还可以查看SQL Server的系统信息、复制、创建数据表。...如:以下操作将会产生错误: select 借书证号,count(*) from xs (六):对查询结果分组: group by子句用于将查询结果表按某一列或多列值进行分组,列值相等的为一组,...}[,…n][by 分组表达式[,…n] 功能:compute子句将产生一个单独的汇总行,用以显示统计信息。...相当于在select 语句的结果后面加了一个汇总行,这样既查询出了源表中一个一个的详细记录(即具体的字段值),又查询出了统计某些列数据所产生的统计信息(即:细节+统计)。...compute…by:可用于解决既要显示具体的记录数据又要分组显示统计信息的问题。即分组统计,既要显示除分组字段以外的其它字段值又要显示统计函数值。
描述性统计和数据汇总 理解大型数据集的一种方法是计算整个数据集或有意义子集的描述性统计数据,如总和或均值。...描述性统计 描述性统计(descriptivestatistics)允许使用定量度量来汇总数据集。例如,数据点的数量是一个简单的描述性统计,而平均值,如均值、中位数或众数是其他流行的例子。...默认情况下,它们返回沿轴axis=0的系列,这意味着可以获得列的统计信息: 如果需要每行的统计信息,使用axis参数: 默认情况下,缺失值不包括在描述性统计信息(如sum或mean)中,这与Excel...在数据框架的所有行中获取统计信息有时不够好,你需要更细粒度的信息,例如,每个类别的均值,这是下面的内容。 分组 再次使用我们的示例数据框架df,让我们找出每个大陆的平均分数。...为此,首先按洲对行进行分组,然后应用mean方法,该方法将计算每组的均值,自动排除所有非数字列: 如果包含多个列,则生成的数据框架将具有层次索引,即我们前面遇到的多重索引: 可以使用pandas提供的大多数描述性统计信息
df.info() 索引,数据类型和内存信息 df.describe() 数值列的汇总统计信息 s.value_counts(dropna=False) 查看唯一值和计数 df.apply(pd.Series.value_counts...df.groupby([col1,col2]) 从多列返回一组对象的值 df.groupby(col1)[col2] 返回col2中的值的平均值,按col1中的值分组(平均值可以用统计部分中的几乎任何函数替换...) df.pivot_table(index=col1,values=[col2,col3],aggfunc=max) 创建一个数据透视表,按col1分组并计算col2和col3的平均值 df.groupby...df.describe() 数值列的汇总统计信息 df.mean() 返回所有列的平均值 df.corr() 查找数据框中的列之间的相关性 df.count() 计算每个数据框的列中的非空值的数量 df.max...() 查找每个列中的最大值 df.min() 查找每列中的最小值 df.median() 查找每列的中值 df.std() 查找每个列的标准差 点击“阅读原文”下载此速查卡的打印版本 END.
数据分组就是根据一个或多个键(可以是函数、数组或df列名)将数据分成若干组,然后对分组后的数据分别进行汇总计算,并将汇总计算后的结果合并,被用作汇总计算的函数称为就聚合函数。...Python中对数据分组利用的是 groupby() 方法,类似于sql中的 groupby。...df.groupby("客户分类")["7月销量"].sum() ---- 2.分组键是Series 把DataFrame的其中一列取出来就是一个Series ,如df["客户分类"]。...其实这和列选择一样,传入多个Series时,是列表中的列表;传入一个Series直接写就可以。...---- 3.神奇的aggregate方法 前面用的聚合函数都是直接在DataFrameGroupBy上调用,这样做每一列都是同一种汇总运算,且一次只能使用一种汇总运算。
将把一个表想成一个网格,网格里每一列存储数据都是属于该字段下的,每列相互独立。 每列都有对应的数据类型,就是说每个字段都有数据类型限制,这个类型能帮助我们排序数据和检索数据。...什么是计算字段 需要对查询的列数据进行处理,如求和,平均,格式化等 拼接字段 CONCAT 函数 使用 CONCAT 函数可以将多个值拼接成一个值。...聚集函数 对查询出来的数据进行汇总统计 AVG 函数,返回一列的平均值 COUNT 函数,返回一列的行数,使用 COUNT(*) 时包含该列值为 NULL 的行,否则不在统计范围内 MIN/MAX 函数...,返回一列的最小值/最大值 SUM 函数,返回一列的最大值 聚集不同值 ALL 返回所有行数,默认行为 DISTINCT 只返回包含不同的值 组合聚集函数 在一个查询语句允许采用多个函数。...检查存储过程 具体展示创建的时间,创建人等信息。 SHOW CREATE PRODURE a_process; 第二十四章 游标 MySQL里的游标指什么,跟迭代器里的一样的概念吗?
--having 分组过滤条件 按照年龄分组,过滤年龄为空的数据,并且统计分组的条数和现实年龄信息 select count(*), age from student group by age having...如cid对应子句的id; # exists和not exists子句查询示例 查询存在班级id为的学生信息 select * from student where exists ( select...如:id等于student.id; # some、any、all子句查询示例 查询班级的学生年龄大于班级的学生的年龄的信息 select * from student where cid = 5 and...对年龄大于的进行汇总 select age from student where age > 20 order by age compute sum(age) by age; 对年龄大于的按照性别进行分组汇总年龄信息...compute子句中可以添加多个汇总表达式,可以添加的信息如下: a、 可选by关键字。它是每一列计算指定的行聚合 b、 行聚合函数名称。
加载数据 首先将CSV文件中的数据作为DataFrame(pandas所生成的数据结构)加载到内存中,并且在加载时设置每一列的名称: import pandas as pd names = ['preg...在数据转换结束时,我们可以看到数据框本身的描述为768行和9列,所以现在我们已经了解了我们的数据的整体情况。 接下来,我们可以通过查看汇总统计来了解数据集每个属性的分布情况。...通过查看这些统计数据,我们可以注意到一些有趣的信息:如平均怀孕次数为3.8次、最小年龄为21岁、有些人的体重指数为0,但这是显然是不可能的,因此某些属性值应标记为缺失。...您可以生成属性的直方图矩阵和按class分类后每一类值的直方图矩阵,如下所示: data.groupby('class').hist() 数据按class属性分组,然后为每个组中的属性创建直方图矩阵,结果是两个图像...首先,我们着眼于如何快速而简便地载入CSV格式的数据,并使用汇总统计来描述它。
领取专属 10元无门槛券
手把手带您无忧上云