strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。 strpos() 函数返回字符串在另一个字符串中第一次出现的位置。...mysql_fetch_lengths() 函数取得一行中每个字段的内容的长度。 mysql_fetch_field() 函数从结果集中取得列信息并作为对象返回。...fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段。 fgetc() 函数从文件指针中读取一个字符。 fflush() 函数将缓冲内容输出到文件。...array_fill() 函数用给定的值填充数组,返回的数组有 number 个元素,值为 value。返回的数组使用数字索引,从 start 位置开始并递增。...array_count_values() 函数用于统计数组中所有值出现的次数。 array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。
通常是用来比较计划值和实际值,就是说我的这个东西有没有达标,有没有达到计划的标准。...10.2 参考线 以二月份电量销售额完成情况为参考 步骤: ①统计周期->筛选器(二月),省市->行,当期值->列 ? ?...其通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况。其普遍用到项目管理中。...11.2 交货延期情况的甘特图 ①计划交货日期->列(显示为下拉列表下面的天),供应商名称、物资类别->行 ? ?...每一个线都对应着对应的交货信息 ②显示延迟天数大小:点击实际交货日期下拉列表->创建->计算字段(延迟天数=实际交货日期-计划交货日期) ? ?
【面试题】 有一张“用户登陆记录表”,包含两个字段:用户id、日期。 【问题】查询2021年每个月,连续2天都有登陆的用户名单。 【解题步骤】 1....连续问题的万能模板 我在《拼多多面试题:如何找出连续出现N次的内容?》里讲过遇到“连续问题”如何解决,并送出了一个万能模板,模板使用的是窗口函数解决连续问题。...窗口函数 窗口函数lead使用方法: lead(字段名,N,默认值) over(partion by …order by …) 默认值是指:当向上N行或者向下N行值时,如果已经超出了表行和列的范围时,会将这个默认值作为函数的返回值...窗口函数lead可以获取每个字段的后面的第n个值,并生成新的一列。 而这道题描述的“用户连续登陆”中的“连续”可以理解为用户当前的登陆日期与本月下一次登陆日期相差一天。...= '当月最后登陆日期'; “上一个登陆顺序”为Null时,用0代替(使用coalesce函数),那么“每个月登陆顺序”减去“上一个登陆顺序”就是本次连续登陆天数。
我用口水话解释一下便于理解: 我们知道数字类型有个“标识”属性,设置好“标识种子”、“标识递增量”,每增加一条记录时,这个字段的值就会在最近的一个标识值基础上自动增加,这样我们可以知道哪些记录是先添加的...对行的任何更新都会更改 timestamp 值,从而更改键值。如果该列属于主键,那么旧的键值将无效,进而引用该旧值的外键也将不再有效。如果该表在动态游标中引用,则所有更新均会更改游标中行的位置。...timestamp 通常用作给表行加版本戳的机制。 存储大小为 8 个字节。 timestamp 数据类型只是递增的数字,不保留日期或时间。 若要记录日期或时间,请使用 datetime 数据类型。...对行的任何更新都会更改 timestamp 值,从而更改键值。如果该列属于主键,那么旧的键值将无效,进而引用该旧值的外键也将不再有效。 如果该表在动态游标中引用,则所有更新均会更改游标中行的位置。...如果该列属于索引键,则对数据行的所有更新还将导致索引更新。 使用某一行中的 timestamp 列可以很容易地确定该行中的任何值自上次读取以后是否发生了更改。如果对行进行了更改,就会更新该时间戳值。
大家好,又见面了,我是你们的朋友全栈君。...3、定点数 浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。...2.text类型不能有默认值。 3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。...自动存储记录修改时间 若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。...数据类型的属性 MySQL关键字 含义 NULL 数据列可包含NULL值 NOT NULL 数据列不允许包含NULL值 DEFAULT 默认值 PRIMARY KEY 主键 AUTO_INCREMENT
【Django是一个机智的框架】 默认情况下Djang会为ORM中定义的每一张表加上一个自增ID列,并且用这个列来做主键;出于一个MySQL-DBA的工作经历我觉得 Djanog还真是机智;这样么说主要是因为我遇到过许多主从延时的问题...如果当前网站用的是Django开发的,我想就不会有这种事情发生了吧。...表名_set” 4、on_delete:当删除关联表中的数据时,当前表与其关联的行的行为,例如删除一个出版社,那么和这个出版社有关联的书籍也都被删除掉了,下面介绍on_delete的参数值: on_delete...:删除关联数据: a、与之关联的值设置为指定值,设置:models.SET(值) b、与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象) 5、db_constraint:是否在数据库中创建外键约束...类,而Meta类封装了一些数据库的信息,主要字段如下: 1、db_table:ORM在数据库中的表名默认为app_类名,可以通过db_table可以重写表名 2、index_together:联合索引,
行上下文的嵌套 来看这样一个需求:如何显示当前订单是该客户第几次购买 很多人下意识地的在脑子里把客户ID和订单日期排序,再手工添加个递增填充列就完事——典型的Excel思路 如果数据时刻在增加,填充列该如何更新...它对函数第一参数(仍然是本表)进行迭代 这一条尤其重要:系统在处理“内层行上下文”时,“外层行上下文”将被忽略 如何在“内层行上下文”中能访问到“外层行上下文”?...这就是“Earlier”函数的意义所在——Earlier可以突破这个限制,跳出嵌套,访问到外层上下文的当前值 如果你对上述步骤解还是感到困惑,那我就图解一次 ? ?...通过图解,相信大家应该都能理清内外层逻辑关系了吧 上面引用Earlier函数,现在已基本不再使用,一般用变量(var…return…)语法来替代,但Earlier函数对新人理解嵌套行上下文还是很有帮助的...前面我们说过,当系统在“内行上下文”中迭代时,外层的行上下文是隐藏的,暂不起作用 由上图便可知,利用变量把“外层行上下文”的迭代结果暂存,放到“内层行上下文”中使用,便达到了和Earlier函数一样的效果
通常是用来比较计划值和实际值,就是说我的这个东西有没有达标,有没有达到计划的标准。...参考线为各地市的电量销售额的均值 参考线 显示各省份实际值和计划值的完成情况 1.将月度计划值放入详细信息里 2.再编辑参考线即可 通过上图我们能够很清晰的看出地区销售额的实际完成情况和目标值的情况...普遍用于项目管理 交货延期情况的甘特图 计划交货日期->列(显示为下拉列表下面的天),供应商名称、物资类别->行 显示延迟天数大小:点击实际交货日期下拉列表->创建->计算字段(延迟天数=实际交货日期-...超市不同子类产品的盈亏瀑布图 工作表连接 和sql中类似 制作步骤 1.先做条形图:子类别->列,利润->行(下拉列表->快速表计算->汇总),利润->标签 2.选择制作甘特图...长方形高度->标签、长方形高度->颜色 4.分析<合计< 显示行总结 显示效果 ---- 到这里就结束了,如果对你有帮助,欢迎点赞关注,你的点赞对我很重要
,用来表现实际值与标准值的比较 数据:2014年各省市售电量.xlsx 1.1二月份电量销售额完成情况 统计周期拖拽到筛选器,选择二月–当期值拖拽到列–省市拖拽到行–选择并转换为横条形图–右键条形图的x...2.2交货延期情况的甘特图 把计划交货日期拖拽到列,点击下拉三角,选择绿色胶囊的天–把供应商名称拖拽到行–把物资类别拖拽到行 创建计算字段延迟天数–把延迟天数拖拽到标记去的大小–把延迟天数拖拽到标记区的颜色...,并修改颜色为二值。...结果 2.3不同的日期类型选择 可以把绿色的日期修改为蓝色的日期卡纳克 3.创建超市不同子类别产品的盈亏瀑布图 数据为:全球超市订单数据.xlsx 子类别拖拽到列–利润拖拽到行,并修改利润快速计算表为累计汇总...–排序–将利润拖拽到标签中,并修改标签的数字显示格式 上面中,每条柱子的高度为自己的利润 修改标记中的自动为甘特条形图–创建计算字段 长方形高度,值为 负的利润 把计算字段 长方形的高度
学会自定义表中每一个字段(列)的数据类型,对学习SQL数据库以及性能调优有着很大的帮助! 数据类型是啥?...它可以用来表示某个 字段(列) 的数据内容格式是数字(例123)还是字符(例"一二三") ,可以控制字段的字符长度和硬盘占用空间; MySQL常用数据类型:[数值]、[日期时间]和[字符串]类型。...浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值,一般用来计算或存储货币金额。如果确定数据长度以及小数点位数则采用定点数据类型。...注意日期格式,data类型分隔符为"-",time类型分隔符为":" 数据类型的附加属性 设计数据表字段属性的时候通常会在数据类型后加一些默认值 例: char(6) not null 定义了...有NULL的列值会使得索引、索引统计和值比较更加复杂。
如果出于某种原因,你需要从模型中删除一张表并以另一种方式再次创建这个表(你可能不相信自己会这么傻,但是请放心,总会有这么一天的),所有的计算列都会随着你的删除动作一并消失,然后,从头再来。...表构造函数允许创建具有多个列的表,方法是按行提供一系列值的列表,每一行用括号分隔,代码如下。...该函数的参数是一系列列名和数据类型对,以及包含表中每一行的值的列表。...有策略地隐藏 Power BI 模型中的一些元素将会避免部分混淆,并减少作为模型设计者的你因“模型不起作用”而收到的问题数。...其工作方式也相同:隐藏数据列并添加度量值以使表移动到“字段”窗格的顶部。
定点数 浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。decimal(m,d) 参数m<65 是总个数,d<30且 d<m 是小数位。...2.text类型不能有默认值。 3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。...自动存储记录修改时间 若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。...数据类型的属性 MySQL关键字 含义 NULL 数据列可包含NULL值 NOT NULL 数据列不允许包含NULL值 DEFAULT 默认值 PRIMARY KEY 主键 AUTO_INCREMENT...自动递增,适用于整数类型 UNSIGNED 无符号 CHARACTER SET name 指定一个字符集
group by后面的列在索引或者primary key中,且查询列也在索引中 all 无索引 对索引列加工 索引列隐式类型转换 对日期类型进行like '20xxx' 单列索引,对数字列进行like...MySQL优化器根据统计信息预估出来的值,不一定准 1.10 filter 和rows一样是预估值,非100的情况是extra有using where关键字,表示从存储引擎中拿到数据后再加工的比例...5.7开始该值比较准确 1.11 Extra Distinct MySQL在join过程中取出一行之后查询另一个表时,碰到一行就停止,有点像exsits 必须是join distinct关键字 select...联合主键,其中任一一个字段用等值查询,查出另一个字段的min或max,且不能包含group by Using filesort order by, group by且没使用索引 8.0 group by...不会出现 Using index 只使用索引不回表就可以查到 如果表对应的where条件选择率不是很好,且一行长度很长,此时课考虑创建包含对应列的索引达到减少物理io的目的 延迟join必须使用using
: Encode 选中的文本为 MD5 Hex16 De/Encode 选中的文本为 URL De/Encode 选中的文本为 Base64 递增/递减: 递增/递减所有找到的数字 复制行并且递增/递减所有找到的数字...通过子选择行排序:每行仅处理一个选择/插入符号 对齐: 通过选定的分隔将选定的文本格式化为列/表格 将文本对齐为左/中/右 过滤/删除/移除: grep选定的文本,所有行不匹配输入文字将被删除。...(不能在列模式下工作) 移除选定的文本 移除选定文本中的所有空格 删除选定文本中的所有空格 删除重复的行 只保留重复的行 删除空行 删除所有换行符 其他: 交换字符/选择/线/标记 切换文件路径分隔符:...BrowseWordAtCaret 允许轻松浏览下一个/上一个字的插入符号,并高亮显示所选单词的外观 用法:使用CTRL-ALT-UP,CTRL-ALT-DOWN浏览 注意:在默认键盘映射中,这个快捷键也适用于下一个...Shifter 检测插入符号、行或关键字的类型,并在键盘快捷键上将其“向上”或“向下”移动。 如果一行中只有一个可移动的单词,则可以移动而不用插入它。
MD5 Hex16 De/Encode 选中的文本为 URL De/Encode 选中的文本为 Base64 递增/递减: 递增/递减所有找到的数字 复制行并且递增/递减所有找到的数字 创建序列:保持第一个数字...,递增替换所有其他数字 递增重复的数字 按自然顺序排序: 按行倒序 按行随机排序 区分大小写A-z排序 区分大小写z-A排序 不区分大小写A-Z排序 不区分大小写Z-A排序 按行长度排序 通过子选择行排序...:每行仅处理一个选择/插入符号 对齐: 通过选定的分隔将选定的文本格式化为列/表格 将文本对齐为左/中/右 过滤/删除/移除: grep选定的文本,所有行不匹配输入文字将被删除。...(不能在列模式下工作) 移除选定的文本 移除选定文本中的所有空格 删除选定文本中的所有空格 删除重复的行 只保留重复的行 删除空行 删除所有换行符 其他: 交换字符/选择/线/标记 切换文件路径分隔符:...BrowseWordAtCaret 允许轻松浏览下一个/上一个字的插入符号,并高亮显示所选单词的外观 用法:使用CTRL-ALT-UP,CTRL-ALT-DOWN浏览 注意:在默认键盘映射中,这个快捷键也适用于下一个
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。...在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。...ENUM 类型字段可以从集合中取得一个值或使用 null 值,除此之外的输入将会使 MySQL 在这个字段中插入一个空字符串。...MySQL 认为 ENUM 类型集合中出现的值是合法输入,除此之外其它任何输入都将失败。这说明通过搜索包含空字符串或对应数字索引为 0 的行就可以很容易地找到错误记录的位置。...并且它还去除了重复的元素,所以 SET 类型中不可能包含两个相同的元素。 希望从 SET 类型字段中找出非法的记录只需查找包含空字符串或二进制值为 0 的行。
难度:2 问题:导入iris数据集并保持文本不变。 答案: 由于我们想保留物种,一个文本字段,我已经把dtype设置为object。设置dtype = None,则会返回一维元组数组。...难度:2 问题:通过省略species文本字段将一维iris数组转换为二维数组iris_2d。 输入: 答案: 28.如何计算numpy数组的平均值,中位数,标准差?...43.用另一个数组分组时,如何获得数组中第二大的元素值? 难度:2 问题:第二长的物种的最大价值是什么? 答案: 44.如何按列排序二维数组?...难度:4 问题:计算有唯一值的行数。 输入: 输出: 输出包含10列,表示1到10之间的数字。这些值是相应行中数字数量。 例如,单元(0,2)的值为2,这意味着数字3在第一行中恰好出现2次。...通过填补缺失的日期,使其成为连续的日期序列。 输入: 答案: 70.如何在给定一个一维数组中创建步长?
在表中添加新行或更新表中的现有行。...如果省略,值列表将按列号顺序应用于所有列。 scalar-expression - 为相应列字段提供数据值的标量表达式或以逗号分隔的标量表达式列表。...请注意,唯一键字段值可能不是在INSERT或UPDATE中显式指定的值;它可能是列默认值或计算值的结果。...相反,它会尝试更新第2行。第2行的IDKEY为(1,2),因此INSERT或UPDATE语句将尝试将字段A的值从1更改为2。但无法更改IDKEY值,因此更新失败,并显示SQLCODE-107错误。...INSERT或UPDATE递增内部计数器,然后插入一行:内部计数器=7,序列字段值=7。
创建表时TIMESTAMP列用Zero更新。只要表中的其他字段发生更改,UPDATE CURRENT_TIMESTAMP修饰符就将时间戳字段更新为当前时间。 17、主键和候选键有什么区别?...federated表,允许访问位于其他服务器数据库上的表。 24、如果一个表有一列定义为TIMESTAMP,将发生什么? 每当行被更改时,时间戳字段将获取当前时间戳。...25、列设置为AUTO INCREMENT时,如果在表中达到最大值,会发生什么情况? 它会停止递增,任何进一步的插入都将产生错误,因为密钥已被使用。...43、如何显示前50行? 在Mysql中,使用以下代码查询显示前50行: SELECT*FROM LIMIT 0,50; 44、可以使用多少列创建索引? 任何标准表最多可以创建16个索引列。...当一个DECIMAL或NUMERIC列被赋给了其大小超过指定(或缺省的)precision和scale隐含的范围的值,Mysql存储表示那个范围的相应的端点值。 我希望本文可以帮助你提升技术水平。
领取专属 10元无门槛券
手把手带您无忧上云