细化聚集函数的作用对象 未对查询结果分组,聚集函数将作用于整个查询结果 对查询结果分组后,聚集函数将分别作用于每个组 作用对象是查询的中间结果表 按指定的一列或多列值分组,值相等的为一组 合计函数...Customer Quantity 张三 88 李四 88 王五 88 张三 88 王五 88 当然GROUP BY也可以按多个列分组,即两个都想同时才会被分到一个组 还是对BILL表操作 SELECT...: CustomerQuantity张三31 ORDER BY子句:对查询结果表按指定列值的升序或降序排序 还是对BILL表操作 CustomerQuantityDate张三102020-3-19...升序:ASC;降序:DESC;缺省值为升序 当排序列含空值时 ASC:排序列为空值的元组最后显示 DESC:排序列为空值的元组最先显示 二、单表查询 刚才在介绍那几个保留字的时候,我们简单的举了几个查询的例子...SELECT AVG(Grade) FROM SC WHERE Cno= ‘ 1 ’; 最大最小值 MAX() 函数和MIN()函数 MAX 函数返回一列中的最大值,MIN 函数返回一列中的最小值
F5或CTRL+G,你的眼界变大了,EXCEL变小了,更让你惊喜的是,哇塞,里面还能找“对象”。 3.清除格式 遇到一个单元格有加粗,倾斜,边框,填充颜色,字体颜色等等,如何快速清除其中的格式呢?...很多童鞋都是按上述操作一个个再点一遍还原,或者用格式 刷,找一个空单元格这样刷一下,如果一不小心空单元格有格式,还是会把格式刷过来。...7.按行排序 排序的时候如果想要按行排序,你会不会这样做,复制,到另一个空白单元格,转置,再排序,排序完之后再剪切转置粘贴回来。其实,排序里可以按行排序。...【数据】,选择【排序】,选择【选项】,方向中选择【按行排序】。 8.按年按月汇总 两列数据,一列为日期,一列为数量,需要按年按月汇总数量,怎么达到目的呢?...曾经看到有人在日期右边插入一列,用Year计算出年份,然后再插入一 列,用Month计算出月份,然后再一个个筛选,再进行汇总,当时我就震惊了,哎,不会透视表伤不起呀。
从上述结果可以看出,当使用的是 count(name) 查询时,就丢失了两条值为 NULL 的数据丢失。 解决方案 如果某列存在 NULL 值时,就是用 count(*) 进行数据统计。...2.distinct 数据丢失 当使用 count(distinct col1, col2) 查询时,如果其中一列为 NULL,那么即使另一列有不同的值,那么查询的结果也会将数据丢失,如下 SQL 所示...数据库的原始数据如下: ? 从上述结果可以看出手机号一列的 10 条数据都是不同的,但查询的结果却为 8。...5.增加了查询难度 当某列值中有 NULL 值时,在进行 NULL 值或者非 NULL 值的查询难度就增加了。...总结 本文我们讲了当某列为 NULL 时可能会导致的 5 种问题:丢失查询结果、导致空指针异常和增加了查询的难度。
列为 NULL,并且 key_len 列是此次查询中使用到的索引最长的那个。...1.3.7key_len 这一列显示了在索引里使用的字节数,当key列的值为 NULL 时,则该列也是 NULL 1.3.8ref 这一列显示了哪些字段或者常量被用来和key配合从表中查询记录出来。...1.3.9rows 这一列显示了估计要找到所需的行而要读取的行数,这个值是个估计值,原则上值越小越好。...Using temporary:在查询结果排序时会使用一个临时表,一般出现于排序、分组和多表 join 的情况,查询效率不高,建议优化。...Using filesort:对结果使用一个外部索引排序,而不是按索引次序从表里读取行,一般有出现该值,都建议优化去掉,因为这样的查询 CPU 资源消耗大。
除了FROM和WHERE之外,最常用的查询子句之一是GROUP BY子句。它通常在您对一列执行聚合函数时使用,但与另一列中的匹配值相关。 例如,假设您想知道有多少朋友更喜欢您制作的三个主菜中的每一个。...默认情况下,数值按升序排序,文本值按字母顺序排序。...为了说明,以下查询列出了name和birthdate列,但是按birthdate对结果进行排序: SELECT name, birthdate FROM dinners ORDER BY birthdate...JOIN子句可用于组合查询结果中两个或多个表的行。它通过在表之间查找相关列并在输出中适当地对结果进行排序来实现此目的。...UNION运营商的工作方式与JOIN条款略有不同,不是打印从多个表作为使用一个唯一的列结果的SELECT语句,而是用UNION将两个SELECT语句结果结合成一列。
加载数据到PowerQuery中.png 客户首次购买分析 选定下单日期这一列,进行升序排序。 ? 下单日期升序排序.png 选定客户名称这一列,进行删除重复项 ?...对客户名称删除重复项.png ? 首次购买分析结果.png 客户最大订单分析 选定金额这一列,进行降序排序 ? 金额降序排序.png 选定客户名称这一列,进行删除重复项 ?...打开文件图示.png 不要选中第一列,选中后面的列,然后点击下图所示的逆透视列。 ? 逆透视1.png ? 成功逆透视结果.png 选择关闭并上载至,在窗口中设置值如下图所示。...透视1.png 值列为是否完成销售额,点开高级选项,聚合值函数选择不要聚合,最后点击确定。 ? 透视2.png ? 成功透视结果.png ? 加载至原有表.png ?...成功分组结果.png 10.添加列 打开下载文件中的10-添加列.xlsx,如下图所示。 ? 打开文件图示.png ? 进行分组操作.png ? 逆序排序.png ? 添加索引列.png ?
返回的具体执行信息,对sql如何进行优化。...额外还有filtered列,是一个半分比的值,rows*filtered / 100可以估算出将要和explain中前一个表进行连接的行数(前一个表指explain中的id值比当前表id值小的表)。...type列 这一列表示关联类型或访问类型,即MySQL决定如何查找表中的行,查找数据行对应的大概范围。...key列 这一列显示MySQL实际采用哪个索引对该表的访问。如果没有使用索引,则改列为NULL。...ref列 这一列显示了在key列记录的索引中,表查找值所用到的列或常量,常见的有:const(常量),字段名等。
,"高","低")),将薪资大于10000的设为高,低于10000的设为低,添加一列在最后 ?...Pandas 在pandas中删除数据也很简单,比如删除最后一列使用del df['new_col']即可 ?...缺失值处理 说明:对缺失值(空值)按照指定要求处理 Excel 在Excel中可以按照查找—>定位条件—>空值来快速定位数据中的空值,接着可以自己定义缺失值的填充方式,比如将缺失值用上一个数据进行填充...数据交换 说明:交换指定数据 Excel 在Excel中交换数据是很常用的操作,以交换示例数据中地址与岗位两列为例,可以选中地址列,按住shift键并拖动边缘至下一列松开即可 ?...Pandas 在pandas中交换两列也有很多方法,以交换示例数据中地址与岗位两列为例,可以通过修改列号来实现 ?
在数据分析和数据建模的过程中需要对数据进行清洗和整理等工作,有时需要对数据增删字段。下面为大家介绍Pandas对数据的复杂查询、数据类型转换、数据排序、数据的修改、数据迭代以及函数的使用。...https://zhuanlan.zhihu.com/p/568250201 01、复杂查询 实际业务需求往往需要按照一定的条件甚至复杂的组合条件来查询数据,接下来为大家介绍如何发挥Pandas数据筛选的无限可能...df['foo'] = 100 # 增加一列foo,所有值都是100df['foo'] = df.Q1 + df.Q2 # 新列为两列相加df['foo'] = df['Q1'] +...(Q7=lambda d: d.Q1 * 9 / 5 + 32) # 使用lambda# 添加一列,值为表达式结果:True或Falsedf.assign(tag=df.Q1>df.Q2)# 比较计算,...效果同上 4、map() 应用在Series或DataFrame的一列的每个元素中。
comm 按行比较两个已排序的文件。 概要 comm [OPTION]... FILE1 FILE2 主要用途 按行比较两个已排序的文件。当FILE1或FILE2为-时,读取标准输入。...无选项时输出三列,第一列为FILE1独有的行,第二列为FILE2独有的行,第三列为FILE1,FILE2共有的行。 选项 -1 不输出第一列。 -2 不输出第二列。 -3 不输出第三列。...bbb ccc aaa ddd eee 111 222 hhh ttt jjj 输出的第一列只包含在...aaa.txt中出现的行,第二列包含在bbb.txt中出现的行,第三列包含在aaa.txt和bbb.txt中相同的行。...jjj ttt 交集 打印两个文件的交集,需要删除第一列和第二列: [root@localhost text]# comm aaa.txt bbb.txt -1 -2 bbb ccc 差集 通过删除不需要的列
,'重庆') -- 查找商品名称为NULL的样本 SELECT * FROM T WHERE 商品名称 IS NULL GO 查询结果: 2.3 排序查询 使用ORDER BY子句可以按一个或多个属性列对数据进行排序...当排序列包含空值NULL时,若使用ASC关键字,则排序列为空值的记录放在最后,若使用DESC关键字,则排序列为空值的记录放在最前,即默认NULL是最大的数值; /* 以价格列为排序列进行整体的降序排序...;而ALL则控制计算时不取消指定列中的重复值,默认为ALL;下面以一系列的例子来演示各聚合函数: /* 计算表中菜系这一列不去重的情况下元素个数 */ USE practice GO SELECT COUNT...*连接可以对同一个表操作,也可以对多个表操作,对同一个表操作的连接称作自连接 2.8.1 交叉连接查询 交叉连接又称笛卡尔积,它返回两个表中所有数据行的全部组合,即结果集的数据行数等于两个表的数据行数之积...,列为两个表的属性列之和。
自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签列中),包含两端标签结果,无匹配行时返回为空...切片类型与索引列类型不一致时,引发报错 loc/iloc,最为常用的两种数据访问方法,其中loc按标签值访问、iloc按数字索引访问,均支持单值访问或切片查询。...与[ ]访问类似,loc按标签访问时也是执行范围查询,包含两端结果 at/iat,loc和iloc的特殊形式,不支持切片访问,仅可以用单个标签值或单个索引值进行访问,一般返回标量结果,除非标签值存在重复...query,按列对dataframe执行条件查询,一般可用常规的条件查询替代 ?
额外还有filtered列,是一个半分比的值,rows*filtered / 100可以估算出将要和explain中前一个表进行连接的行数(前一个表指explain中的id值比当前表id值小的表)。...type列 这一列表示关联类型或访问类型,即MySQL决定如何查找表中的行,查找数据行对应的大概范围。...key_len列 这一列显示了mysql在索引里使用的字节数,通过这个值可以估算出具体使用了索引中的哪些列。...通过结果中的key_len=4可推断出查询使用了第一个列:film_id列来执行索引查找。...ref列 这一列显示了在key列记录的索引中,表查找值所用到的列或常量,常见的有: const(常量),字段名等。
FROM子句:指定查询对象(基本表或视图) WHERE子句:指定查询条件 GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。...HAVING短语:筛选出只有满足指定条件的组 ORDER BY子句:对查询结果表按指定列值的升序或降序排序 3.4.2 单表查询 查询仅涉及一个表,是一种最简单的查询操作 1....对查询结果排序 使用ORDER BY子句,可以按一个或多个属性列排序,升序:ASC;降序:DESC;缺省值为升序。...当排序列含空值时,ASC:排序列为空值的元组最后显示,DESC:排序列为空值的元组最先显示 //查询选修了编号为L12003课程的学生的学号及其成绩 //查询结果按分数降序排列。...– GROUP BY子句的作用对象是查询的中间结果表; – 分组方法:按指定的一列或多列值分组,值相等的为一组; – 使用GROUP BY子句后,SELECT子句的列名列表中只能出现分组属性和聚集函数
普通索引 MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值。 唯一索引 索引列中的值必须是唯一的,但是允许为空值。...在组合索引树中,最底层的叶子节点按照第一列a列从左到右递增排列,但是b列和c列是无序的,b列只有在a列值相等的情况下小范围内递增有序,而c列只能在a,b两列相等的情况下小范围内递增有序。...,例如当前例子中,只有 (name),(name,age),(name,age,gae1)这样的查询索引才会生效,而(age),(age,age1)不会生效 匹配列前缀: 仅仅使用索引中的第一列,并且只使用第一列开头一部分字符进行查找...索引对多个值进行排序的依据是CREATE TABLE 语句中定义索引时列的顺序。 索引是一个有序的数据结构,当有序性被打破时,索引不生效。...也是,但是两个排好序的结果集合并在一起,又需要重新排序,因此倒不如直接查询出结果集,再排序 ---- 压缩前缀索引 ---- 冗余和重复索引 我们还需要考虑一个问题,就是索引过多带来的插入效率降低的问题
在数据库性能优化中,执行计划,真的很重要,通过执行计划能够帮助我们更加明确的来进行SQL优化。本文将从执行计划开始说起,讲解执行计划该如何用,其中各个列的含义究竟是什么。 一、执行计划?...EXPLAIN命令是查看查询优化器是如何决定执行查询的主要方法,从它的查询结果中可以知道一个SQL语句每一步是如何执行的,都经历了些什么,分为哪几步,有没有用到索引,哪些字段用到了什么样的索引,是否有一些可优化的地方等...的结果总是有相同的列,每一列代表着不同的含义,可变的只是行数和内容。...通过explain结果来看,只查询表film中字段title时,是按照索引扫描的(type列为index),倘若查询字段description,却是按照全表扫描的(type列为ALL)。...3)Using temporary 对查询结果排序时,使用了一个临时表,常见于order by 和group by。
它的名字衍生自术语“面板数据”(panel data),这是计量经济学的数据集术语,它们包括了对同一个体的在多个时期上的观测。...及DataFrame的使用方式 三、数据排序与查询 1、排序 例1:按语文分数排序降序,数学升序,英语降序 例2:按索引进行排序 2、查询 单条件查询 多条件查询 使用数据区间范围进行查询...'], fill_value='新增的一列要填的值') a=data['x'] # 取列名为'x'的列,格式为series b=data[['x']]...* [m, n] = data.shape # 对m,n进行复制,m等于最大行数 n等于最大列数 data.notnull() # 非空值...# 至少保留两个非缺失值 data.strip() # 去除列表中的所有空格与换行符号 data.fillna(0) # 将空值填充
(如何你还不懂什么是数据库,什么是客户端navicat,可以先学习这个: 1.创建表 1)创建学生表(student) 按下图在客户端navicat里创建学生表 学生表的“学号”列设置为主键约束,下图是每一列设置的数据类型和约束...) 教师表的“教师号”列设置为主键约束, 教师姓名这一列设置约束为“null”(红框的地方不勾选),表示这一列允许包含空值(null) 2.向表中添加数据 1)向学生表里添加数据 添加数据的sql...by 对查询结果排序[课程号从大到小排列:降序desc]; */ select 课程号 from score where 成绩<60 order by 课程号 desc; 查询每门课程的平均成绩,结果按平均成绩升序排序...] group by 分组 [每门课程:按课程号分组] having 对分组结果指定条件 [没有] order by 对查询结果排序[按平均成绩升序排序:asc,平均成绩相同时,按课程号降序排列:desc...[学生选修人数(超过2人的课程才统计):每门课程学生人数>2] order by 对查询结果排序[查询结果按人数降序排序,若人数相同,按课程号升序排序]; */ select 课程号, count(学号
学生表的“学号”列设置为主键约束,下图是每一列设置的数据类型和约束 ? 创建完表,点击“保存” ? 2)创建成绩表(score) 同样的步骤,创建"成绩表“。...4)教师表(teacher) 教师表的“教师号”列设置为主键约束,教师姓名这一列设置约束为“null”(红框的地方不勾选),表示这一列允许包含空值(null)。推荐:250期面试题汇总 ?...查询条件 [没有] group by 分组 [每门课程:按课程号分组] having 对分组结果指定条件 [没有] order by 对查询结果排序[按平均成绩升序排序:asc,平均成绩相同时,按课程号降序排列...[学生选修人数(超过2人的课程才统计):每门课程学生人数>2] order by 对查询结果排序[查询结果按人数降序排序,若人数相同,按课程号升序排序]; */ select 课程号, count(学号...在这个查询结果中,每一行表示了某个学生某一门课程的成绩。比如第一行是'学号0001'选修'课程号00001'的成绩,而其他两列的'课程号0002'和'课程号0003'成绩为0。
领取专属 10元无门槛券
手把手带您无忧上云