excelperfect 在下图1所示的工作簿Data.xlsx的工作表Sheet1中,存放着待使用的数据。 ?...图1 在下图2所示的工作簿GetData.xlsm中,根据列C中的数据,在上图1的工作簿Data.xlsx的列E中查找是否存在相应数据的单元格。 ?...图2 然后,将Data.xlsx中对应行的列I至列K单元格中的数据复制到GetData.xlsm相应的单元格中,如下图3所示。 ?...Set wksData =Workbooks("Data.xlsx").Sheets("Sheet1") '判断所选单元格是否在列C中 If ActiveCell.Column... 3 Then MsgBox ("请选择列C中的单元格或单元格区域.")
指示mysql返回从行5开始的5行记录 排序检索数据: 排序数据 SELECT pname FROM product ORDER BY pname 按多个列排序数据 SELECT pid,market_price...:] 任意可打印字符 [:punct:] 既不在[:alnum:]又不在[:cntrl:]中的任意字符 [:SPACE:] 包括空格在内的任意空白字符(同[\\f\\n\\r\\t\\v]) [:UPPER...() 增加一个时间(时、分等) CURDATE() 返回当前日期 CURTIME() 返回当前时间 DATE() 返回日期时间的日期部分 DATEDIFF() 计算两个日期之差 DATE_ADD() 高度灵活的日期运算函数...DATE_FORMAT() 返回一个格式化的日期或时间串 DAY() 返回一个日期的天数部分 DAYOFWEEK() 对于一个日期,返回对应的星期几 HOUR() 返回一个时间的小时部分 MINUTE...MIN() 返回某列的最小值 SUM() 返回某列值之和 SELECT AVG(market_price) FROM product SELECT MAX(market_price) FROM product
主键(primary key) 唯一标识表中每行的这个列(或这组列)称为主键 表中的任何列都可以作为主键,只要它满足以下条件: 任意两行都不具有相同的主键值; 每个行都必须具有一个主键值(主键列不允许为...NULL) 外键(foreign key) 外键为某个表(子表)中的一列,它是另一个表(父表)的主键值,建立起两个表之间的关系。...prod_price,两列值有重复,才去重 limt关键字 限制返回结果的数量和查询的范围,行数下标从0开始 select prod_name from products limit 5; #从第0行开始...date() 返回日期时间的日期部分 datediff() 计算两个日期之差 date_add() 高度灵活的日期运算函数 date_format() 返回一个格式化的日期或时间串...(),min()的结合使用,一个列中的最小值和最大值不管是否包含不同值都是相同的,没有意义 select count(distinct prod_price) from products; # 12
创建表设置了默认值的列除外) 插入日期 mySQL的日期格式: %Y年 %m 月 %d 日 %h 时 %m 分 %s 秒 str_to_date('日期字符串','日期格式') 比如数据表中员工的入职日期字段...(date类型的列名,'日期格式') 多用在查询时,将 date 类型的结果按照给定的格式展示出来。...更新记录 // 更新记录 UPDATE 表名 SET 列名1=列1对应的值,列名2=列2对应的值 WHERE 更新的条件 ; 修改表中的列、列名、表名 添加列(add) alter table 表名...4,更新表中记录 更新某条记录 update 表名 set 要更新的列名1=列的值1,要更新的列名2=列的值2 where 条件; 比如这样: update student set sname...='寒冰',sage=23 where sid=105; 更新所有记录的某些列 update 表名 set 要更新的列1=值1,要更新的列2=值2; 总结 表的操作,根据个人职位和功能需求来定
图片 我们在做BI报表分析的时候,大部分指标的运算逻辑都不是特别的复杂,很多用户对于指标最基本的需求,就是可以展示当月数据,看个同环比,能看个YTD就够了。...那么有关同环比的计算有哪些方式呢? 思考一下 1 2 3 ...... 其实,主要方法就两种,一种是通过时间智能函数计算,另一种是通过Calculate+Filter+All的方式进行条件计算。...不过,这里白茶要特殊说明一下,如果在实际项目的开发中,白茶是不建议大家去使用时间智能类型的函数做指标计算的。..., LastYearMonthValue ) RETURN Result 结果如下: 图片 从结果上看,二者是一样的,但是从内部逻辑构造的角度,相对于时间智能函数要更为复杂。...当然,这种写法也是可以进行优化的,我们先对之前的日期表进行一下处理。
如果单列无法实现均匀分布,最多使用两列的分布键。再多的分布列通常不会产生更均匀的分布,并且在散列过程中需要额外的时间。 如果两列分布键无法实现数据的均匀分布,使用随机分布。...2020-01-01', date '2022-12-31'); -- 查询生成的日期 select min(date_sk) min_sk, min(date) min_date, max(date_sk...因此从功能上说,SCD1和SCD2的处理顺序并不关键,只需要记住对SCD1的字段,任意版本的值都正确,而SCD2的字段需要跟踪所有版本。从性能上看,先处理SCD1应该更好些,因为更新的数据行更少。...从表6-2可知,product_dim维度表的所有非键列(除product_code以外的列)上都使用SCD2。...注意,从effective_dt和customer_sk都可以看到,目标库中是先插入的客户8,后更新的客户6,而我们在生成测试数据时是先更新的客户6,后插入的客户8。
求最大值:MAX(prod_price) 求最小值:MIN(prod_price) 求和:SUM(prod_price) 近似的小数点后几位:ROUND(column_name,decimals) 当前日期...列的设置可以加上默认值,如NOT NULL后边接 DEFAULT CURRENT_DATE() ,默认值为当前日期。(每个数据库获取当前日期语句不同。)...PRIMARY KEY 主键约束,唯一标识数据库表中的每条记录,唯一且非空。 FOREIGN KEY 外键约束,一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。...步骤为,要更新的表,要更新的列,要更新的行。...此处(从同一个表中查询)可以用WHERE , OR代替。 常用作从不同表中查询时,只要列数相同就可以拼接到一起,列名按照第一句中查询的列名。
求最大值:MAX(prod_price) 求最小值:MIN(prod_price) 求和:SUM(prod_price) 近似的小数点后几位:ROUND(column_name,decimals) 当前日期...列的设置可以加上默认值,如NOT NULL后边接 DEFAULT CURRENT_DATE() ,默认值为当前日期。(每个数据库获取当前日期语句不同。)...PRIMARY KEY 主键约束,唯一标识数据库表中的每条记录,唯一且非空。 FOREIGN KEY 外键约束,一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。...'; 步骤为,要更新的表,要更新的列,要更新的行。...此处(从同一个表中查询)可以用WHERE , OR代替。 常用作从不同表中查询时,只要列数相同就可以拼接到一起,列名按照第一句中查询的列名。
日期表按照当前日期动态标记了当前年、当前财年、当前季、当前月、当前周、当前天,但是实际工作中,有可能交易数据并不是随着时间及时更新到当前的年/月/日,而是有一定的滞后性,比如从外部购买的市场数据、人工按月提报的数据等都会比当前月迟到...举例报告要展示最新销售日期的近6个月的数据,假设现在是2023年1月,最新销售数据更新到了2022年11月,因此报告应该展示2022年6月到11月的数据。...STEP 2 在新的销售表中,选中日期列,点击菜单栏转换下的日期,选择最新,并命名为MaxDateofFact_Sales,生成了一个随事实表变化的动态最新日期参数。...图片STEP 3 在日期表中添加自定义列,输入代码,生成当前年和当前月的标记列以及年和年月的定位序号列。...)+12*(Date.Year(MaxDateofFact_Sales)-List.Min(Source [Year])))生成的标记列,如下:把YearMonth_Offset_按最新销售字段放入视觉对象筛选器
日期时间类型 日期时间类型数据用于存储日期和时间信息,日期时间数据类型包括date、time、datetime2和datetimeoffset。...(1)datetime:可表示的日期范围从1753年1月1日到9999年12月31日,精确度为0.03s(3.33ms或0.00333s)。...(3)date:可以表示从公元元年1月1日到9999年12月31日的日期,date类型只存储日期数据,不存储时间数据,存储长度为3字节,表示形式与datetime数据类型的日期部分相同。...(6)hierarchyid:可表示层次结构中的位置。 4 计算列 计算列由可以使用同一表中的其它列的表达式计算得来。...CHECK约束中,要相互比较一个表的两个或多个列,那么该约束必须定义为表的约束。
,实现对字符串左填充指定长度; 9)rpad(str,len,填充字符):用指定的字符,实现对字符串右填充指定长度; 10) replace(str,子串,另一个字符串):将字符串str中的字串,替换为另一个字符串...():获取当前时刻所属的季度; 7)str_to_date():将日期格式的字符串,转换成指定格式的日期; 8)date_format():将日期转换成日期字符串; 9)date_add() +...; 操作如下: 10) replace(str,子串,另一个字符串):将字符串str中的字串,替换为另一个字符串; 操作如下: 4.数学函数 1)round(x,[保留的位数]):四舍五入;...③ max()函数和min()函数:传入整型/小数类型、日期/时间类型意义较大; 结论如下: max()和min()中传入的是"整型/小数类型",计算的是数值的最大值和最小值。...max()和min()中传入的是"日期类型",max()计算的最大值是离我们最近的那个日期,min()计算的最小值是离我们最远的那个日期,这个可以记一下。
趁着假期学习总结下~ sql简介 sql可以查询、从数据库取出数据、插入、更新、删除、创建新的数据库、创建新表、创建存储过程、创建视图、设置表视图和存储过程的权限。...select * from 表名称 从表名称所对应的数据库表中取出所有列的内容。...FOREIGN KEY约束 一个表中的FOREIGN KEY指向另一个表中的PRIMARY KEY CHECK 限制列中的值的范围。...() 返回日期 DATE ADD() 给日期添加指定的时间间隔 DATE SUB() 从日期减去指定的时间间隔 DATEDIFF() 返回两个日期之间的天数 DATE FORMAT() 用不同格式显示日期...MAX()和MIN() 返回一列中的最大值和最小值,NULL值不包括在计算中,可以用于文本列,获得按照字母顺序排列的最高或最低值。 SUM()函数 返回数值列的总数。
() 返回日期时间的日期部分 DateDiff() 计算两个日期之差 Date_Add() 高度灵活的日期运算函数 Date_Format() 返回一个格式化的日期或时间串 Day() 返回一个日期的天数部分...无论你什么时候指定一个日期,不管是插入或更新表值还是用WHERE子句进行过滤,日期必须包含格式yyyy-mm-dd. 说明:比如:2005年9月1日,给出为2005-09-01。...,MySQL提供了Date函数来解决这个问题.Date(order_date)指示MySQL仅提取列的日期部分,更可靠的SELECT语句为: SELECT * FROM orders WHERE DATE....对非数值数据使用MAX() 虽然MAX()一般用来找出最大的数值或日期值,但MySQL允许将它用来返回任意列中的最大值,包括返回文本列中的最大值。...与MAX()一样, MIN()要求指定列名.对非数值数据使用MIN() MIN()函数与MAX()函数类似,MySQL允许将它用来返回任意列中的最小值,包括返回文本列中的最小值。
日期时间类型中包含以下几种数据类型: DATE TIME DATETIME TIMESTAMP YEAR 各类型都有具体的取值范围,超出或非法的其他值时,MySQL 会回退到 0。...但这种情况下就无法从日期相关的操作中获得到准确的结果,比如使用 DATE_SUB() 或 DATE_ADD() 函数时。...比如给一个日期格式的列设置 10:11:12,虽然这个值看起来像时间类型,但还是可以正确在被解析成目标列的格式,即日期。...指定 ON UPDATE CURRENT_TIMESTAMP 来使相应的日期时间列自动更新。 两者可同时作用于一个日期时间列,表示插入记录时自动初始化成当前时间,后续记录更新时自动更新到当前时间。...对于指定了自动初始化的列,插入时如果没指定该列的值,则会自动设置为当前的时间。 对于指定为自动更新的列,一旦一条记录中有字段变更,该日期会自动更新成变更时的时间。
表达式中必须存在至少一个 Date或DateTime类型的列,比如:TTL date + INTERVAl 1 DAY。...换言之,就是加入另一列后,可以让您的查询略过很长的数据范围。 改善数据压缩。ClickHouse以主键排序片段数据,所以,数据的一致性越高,压缩越好。...但这将导致排序键中包含大量的列,并且排序键会伴随着新添加的维度不断的更新。 在这种情况下合理的做法是,只保留少量的列在主键当中用于提升扫描效率,将维度列添加到排序键中。...使用按月分区的分区列允许只读取包含适当日期区间的数据块,这种情况下,数据块会包含很多天(最多整月)的数据。在块中,数据按主键排序,主键第一列可能不包含日期。...复制 并发数据访问 对于表的并发访问,我们使用多版本机制。换言之,当一张表同时被读和更新时,数据从当前查询到的一组片段中读取。没有冗长的的锁。插入不会阻碍读取。 对表的读操作是自动并行的。
图6.2 模型图 日期到fSales关系包括从日期[Date]到fSales[InvoiceDate]的一个活动关系,以及从日期[Date]到fSales[OrderDate]和从日期[Date]到fSales...从历史概况角度,参考日期是所选时间段的最后一天或MAX('Date'[Date])。例如,2020年4月的12个月滚动销售额是截至2020年4月30日的12个月的销售额。...另一种方法是使用MIN(MAX('Date'[Date]),TODAY()),尽管在这种情况下,你需要解决所有未来月份返回当前滚动总计的问题。...在 fSales 表中,我们有三个日期列:Invoice Date 列,Order Date 列和 DeliveryDate 列,每个列都与日期表有关系。...由于其他日期列中的值可能不同,因此我们需要调整12个月滚动总计的DAX公式以使用正确的日期列。 同样,我们需要一个辅助表来允许我们在日期列之间进行选择。
/*now当前系统日期+时间 curdate当前系统日期 curtime当前系统时间 datediff(date1, date2)日期之差date1-date2 str_to_date 将字符转换成日期...:将日期转换成字符 select date_format(now(), '%Y年%m月%d日'); #查询有奖金的员工名和入职日期 select last_name, date_format(hiredate...特点: 1、外连接的查询结果为主表中的所有记录 如果从表中有和它匹配的,则显示匹配的值 如果从表中没有和它匹配的,则显示null 外连接查询结果 = 内连接结果 + 主表中有而从表中没有的记录...2、从表的外键列的类型和主表的关联列的类型要求一致或兼容,名称无要求 3、主表的关联列必须是一个key(一般是主键或唯一) 4、插入数据时,先插入主表,再插入从表;删除数据时,先删除从表,再删除主表...脏读:一个事务读取到了另外一个事务未提交的数据 不可重复读:同一个事务中,多次读取到的数据不一致 幻读:一个事务读取数据时,另一个事务进行更新,导致第一个事务读取到了没有更新的数据 如何避免事务的并发问题
3.注意事项 3.1 索引不会包含有null值的列: 只要列中包含有null值都将不会被包含在索引中,复合索引中只要有一列含有null值,那么这一列对于此复合索引就是无效的。...,例如插入30,则会报错.RANGE分区主要适用于日期列分区,如销售类的表,可以根据年份来分区存放销售记录 create table t( id int(11) )engine=innodb...4.视图的使用场景 权限控制的时候,不希望用户访问表中某些含敏感信息的列,比如工资 关键信息来源于多个复杂关联表,可以创建视图提取我们需要的信息,简化操作 三.外键 1.定义 表的外键是另一表的主键,...如果第二次查询的SQL和第一次查询的SQL完全相同(注意必须是完全相同,即使多一个空格或者大小写不同都认为不同)且开启了查询缓存,那么第二次查询就直接从查询缓存中取结果 4.缓存数据的失效时机 在表的结构或数据发生改变时...所以查询缓存适合有大量相同查询的应用,不适合有大量数据更新的应用。
大致分为两类:SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。SQL Scalar 函数基于输入值,返回一个单一的值。...一、SQL Aggregate 函数SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。...从 "Websites" 表的 "alexa" 列获取最大值:SELECT MAX(alexa) AS max_alexa FROM Websites;4、MIN() 函数MIN() 函数返回指定列的最小值...从 "Websites" 表的 "alexa" 列获取最小值:SELECT MIN(alexa) AS min_alexa FROM Websites;5、SUM() 函数SUM() 函数返回数值列的总数...从 "Websites" 表中选取 name, url 以及格式化为 YYYY-MM-DD 的日期:SELECT name, url, DATE_FORMAT(Now(),'%Y-%m-%d') AS
SQL FOREIGN KEY 约束 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。 FOREIGN KEY 约束用于预防破坏表之间连接的动作。...DROP VIEW view_name 18.SQL 日期 MySQL 使用下列数据类型在数据库中存储日期或日期/时间值: DATE - 格式 YYYY-MM-DD DATETIME - 格式: YYYY-MM-DD...如果您希望使查询简单且更易维护,那么请不要在日期中使用时间部分! 19.SQL NULL 值 如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。...6.MIN() 函数 MIN 函数返回一列中的最小值。NULL 值不包括在计算中。...SQL MIN() 语法 SELECT MIN(column_name) FROM table_name 注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。
领取专属 10元无门槛券
手把手带您无忧上云