首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每天一道大厂SQL题【Day24】华泰证券真题实战(六)

每日语录 每次想省钱的时候,就是你智商到达顶峰之时 第24题: 需求列表 编写一个脚本,代码可用python或pyspark或scala(40分) 需求:cust_pft是客户(cust_if)每天...(date)的资产净值(pft),现在需要获得每个客户近1年的最大回撤: 最大回撤定义:在该客户的净值曲线中,当出现最大的净值的时点记为m1,这之后出现的净值比m1那天净值相差最大的净值记为m2,最大回撤就是..., (1,‘2021-12-27’,6000), (1,‘2021-12-28’,6001), (1,‘2021-12-29’,6002); 思路分析 使用MAX()函数计算最大回撤; 使用子查询计算每个日期的价格...、最高价格和回撤率; 使用MAX() OVER()函数计算每个日期之前的最高价格; 计算回撤率,并使用MAX()函数找到最大回撤。...先写简单的select from table…,每个中间步骤都执行打印结果,看是否符合预期, 根据中间结果,进一步调整修饰SQL语句,再执行,直到接近结果表。

41520

SQL基础编程_如何学编程

min()和max()获得极简文具公司数据库中最贵和最便宜的产品售价 1.min()max()直接实现: select max(p.产品_售价) as '最高售价', min(p.产品_售价) as...' 代码结果: 2.JOIN——连接多个数据库(或多表) (简单来说就是通过表中的相同的部分把表连接起来) 如上图,可以把客户表可以跟销售表通过客户_ID连接,产品表跟销售表可以通过产品_代码连接...,于是最终结果客户和产品表通过销售表连接在一起。...两表连接的代码如下: 使用把极简文具公司数据库中的客户表格和产品表格通过关联列客户_ID关联起来 select c.客户_名称, s.销售订单_日期, s.销售数量 * s.产品_价格...通常的内连接表示两个表中的交集部分 内连接表示的关系最严格,即,只返回满足条件的两个表格的交集 即:只显示A和B中A.Key=B.Key的那些行,如果在A中有些A.Key在B中没有,无法进行匹配,

1.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    2.32 INDEX筛选每个客户的最后一条订单,再求和

    有些场景下,客户在一段时间内产生多次数据,在不进行数据清洗按需保留数据的前提下,需要以最后一次(或者数值最大的一次等)数据去进行统计分析,比如竞拍者的最后一次出价、运动员的最高一次记录等。...解决方案首先,不能直接在事实表中打标记,因为这样的标记是静态的,不受画布中的筛选影响,所以要在VAR过程表中给每个客户的最后一次数据打标记。...其次,打标记的本质是,每个客户按日期降序排名,这一步用RANK函数就可以实现,然后筛选排名为1的数据。这样操作略显复杂,与RANK同为窗口函数的INDEX,可以直接取出排名第几的数据。...最后,根据取出来的数据,去做求和等运算。举例有如下订单表,求所选时间段内的按每个客户最后一天的订单销量。...[客户]))RETURN CALCULATE([Sales], _vt_Index)选择1月的日期,如下:选择2月的日期,如下:拓展调节INDEX的第一个参数和升降序参数,可以按需要取正数或倒数第N名的数据

    5910

    SQL自连接vs非自连接

    在WHERE子句中,通过将a表中的“客户ID”字段与b表中的“客户ID”字段进行匹配,并将a表中的“订单日期”字段与b表中的“订单日期”字段进行比较,来获取同一客户在不同时间的订单数量。...例如,假设有一个“订单”表格和一个“客户”表格,其中订单表格包含订单的编号、客户ID、订单日期等信息,客户表格包含客户的ID、姓名、地址等信息。...现在需要查询每个订单对应的客户姓名和地址,就可以使用非自连接来完成。...现在需要查询每个订单对应的产品名称和价格,就可以使用非自连接和子查询来完成。...然后将“订单”表格和子查询表格按照“产品ID”字段进行连接,通过查询每个订单的产品ID来获取对应产品的名称和价格。在使用非自连接时,通常需要注意表格的数量和数据量。

    1.3K30

    SQL Server,MySQL,Oracle三者的区别

    可以使客户选择最适合的解决方案。对开发商全力支持,Oracle并行服务器通过使一组结点共享同一簇中的工作来扩展Windows NT的能力,提供高可用性和高伸缩性的簇的解决方案。...Oracle获得最高认证级别的ISO标准认证.Oracle性能最高,保持开放平台下的TPC-D和TPC-C的世界记录Oracle多层次网络计 算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接...提供了多种开发工具,能极大的方便用户进行进一步的开发。Oracle良好的兼容性、可移植性、可连接性和高生产率是 Oracle RDBMS具有良好的开放性。 Oracle价格是比较昂贵的。...Oracle和MySQL的主要区别 Oracle:客户端和命令窗口,都是由用户决定内容-> conn user_name/password; MySQL:客户端和命令窗口,都是由数据库决定内容-> use...日期字段的处理 MySQL日期字段分DATE和TIME两种,Oracle日期字段只有DATE,包含年月日时分秒信息,用当前数据库的系统时间为SYSDATE,精确到秒,或者用字符串转换成日期型函数TO_DATE

    11810

    【T-SQL基础】01.单表查询-几道sql查询题

    (30 row(s) affected) 本题考察的是过滤日期范围 参考答案: 方案一:  如果要过滤日期范围(比如,整年或正月),比较自然的方法就是使用YEAR和MONTH之类的函数。...如果 startdate 和 enddate 中有一个只含时间部分,另一个只含日期部分,则所缺时间和日期部分将设置为各自的默认值。...如果 startdate 和 enddate 属于不同的日期数据类型,并且其中一个的时间部分或秒小数部分精度比另一个高,则另一个的所缺部分将设置为 0。...大于10000的所有订单,并按总价格排序 涉及的表:Sales.OrderDetails表 ?...THEN 'Male' ELSE 'Unknown' END AS gender; FROM HR.Employees 8.返回每个客户的客户ID和所在区域。

    2K90

    07-08 创建计算字段使用函数处理数据第7章 创建计算字段第8章 使用函数处理数据

    物品订单表存储物品的价格和数量,不存储每个物品的总价格。但为打印发票,需要物品的总价格。 需要根据表数据进行诸如总数、平均数的计算。 上述例子中,存储在表中的数据都不是应用程序所需要的。...但一般来说,在数据库服务器上完成这些操作比在客户端中完成要快得多。 7.2 拼接字段 例子,创建由两列组成的标题。Vendors 表包含供应商名和地址信息。...假如要生成一个供应商报表,需要在格式化的名称(位置)中列出供应商的位置。 此报表需要一个值,而表中数据存储在两个列 vend_name 和 vend_country 中。...例子,Orders 表包含收到的所有订单,OrderItems 表包含每个订单中的各项物品。...SOUNDEX 考虑类似的发音字符和音节,使得能对字符串进行发音比较而不是字母比较。 日期和时间处理函数 日期和时间采用相应的数据类型存储在表中,每种 DBMS 都有自己的特殊形式。

    3.7K20

    MySQL练习题

    123456 题目3 修改火锅类商品的原始价格和当前价格,在原始价格和当前价格上加1 题目4 删除客户姓名为郝琼琼的记录 题目5 删除客户姓名为刘亚蒙的记录 代码 -- 修改所有登录密码为888888...题目1 查询所有客户,如图 题目2 查询所有女客户,如图 题目3 查询所有满35岁的客户,如图 题目4 查询没有上级区域编号的区域,如图 题目5 查询当前价格最贵的3个商品,如图 题目6 查询当前价格第...二、题目 某银行拟开发一套ATM系统软件对客户的账户和交易信息进行管理。该系统的后台数据库为 ATM,该数据库中拥有账户表Account和交易表TransInfo两张表。...5)–修改商品编号为3的价格更改为29.80. 6)–查询价格大于50元的商品数量. 7)–查询价格在35元到50元之间的商品信息,用别名显示名称,价格,折扣(包含35、50元) 8) –统计每个商品的订单数量...提示:使用表联接、分组查询、聚合函数 9)–统计每个下单日期的销售总额,按销售总额升序排列。 ​

    1.4K20

    PowerBI大师知识变现能力分析

    以[2017年的第几周]为轴(第几周的数字是从订单时间列提取出来,可以通过编辑查询器中的日期功能添加,也可以输入DAX公式weeknum来完成),度量值[营业额]为值制作一张堆积面积图如下。...另一个比较有意思的现象是,苹果端的客户在持续上升啊,已经占到一半了! ? 苹果曾经是一家伟大的公司,因为它先创造了一款撼动世界的产品,顺其自然获得了丰厚的盈利。我也想先写一篇好文,再去想变现的事儿。...但PP+DAX其实是所有课程中最盈利的,因为价格是最高,长达4个半小时的视频也是我付出心血最多的作品。而且恰好该课程的苹果支付客户不多,实际收入让人喜出望外。 ?...比如说如果想求课程A与课程B的共同购买的数量,可以先求购买课程A的买家都有谁,再求课程B的买家都有谁,最后求两张表的重合部分。 ?...我想既然苹果和云课堂平台吃掉的那部分提成可以省下来,不如把它作为推广经费,即所有课程可以通过邀请获得20%的分成奖励。 ? 这是一篇学以致用的文章,也是一篇植入广告。

    1.9K30

    告别宽表,用 DQL 成就新一代 BI

    员工表中有所属部门的字段与部门表关联,部门会有经理,而经理也是个员工,部门表中的经理字段会再和员工表关联。...,前者的主键是后者的一部分 现在我们想计算每张订单的总金额 用 SQL 写出来会是这样: SELECT  T1.订单编号,T1.客户,SUM(T2.价格) FROM  订单表 T1 JOIN ...如果我们把子表中与主表相关的记录看成主表的一个字段,那么这个问题也可以不再使用 JOIN 以及 GROUP BY: SELECT 订单编号,客户,订单明细表.SUM(价格) FROM 订单表 与普通字段不同...T3 ON T2.日期=T3.日期 用子查询把每个表分组汇总后再JOIN起来,如果偷懒不用子查询先JOIN后GROUP,那结果是错误的,统计值会变多。...VIP客户表,直接同化到一个表中了 主子表关联---每个订单的总金额 主子表,被视为一个表了,拖出订单,再选择求和方式拖出明细金额就可以了,不操心怎么关联的 按维对齐汇总---按日期统计3个不同表的汇总金额

    1.2K10

    如何利用Excel2007做RFM细分客户群

    由于公司想针对不同类别不活跃客户进行激活促销;同时,为回馈重点客户,也计划推出一系列针对重点客户的优惠活动,希望保留这些客户,维持其活跃度。因此希望利用该数据进行客户分类研究。...一般来讲,单次交易金额较大的客户,支付能力强,价格敏感度低,是较为优质的客户,而每次交易金额很小的客户,可能在支付能力和支付意愿上较低。当然,也不是绝对的。...通过简单的筛选,可以看到,在交易金额中有0消费额,有负数消费额,继续查看交易类型,发现为“赠送”和“退货”所造成。这些数据在本次分析中用不到,所以在数据处理时需要通过筛选除去。...以上我们得到了: 1)F值:客户这1年共消费了多少次 2)M值:客户每次交易的平均消费金额 但是,R值还需要做些处理。目前R值只得到的是客户最近一次消费日期,需要计算距离数据采集日期的天数。...到此,我们得到R,F,M针对每个客户编号的值 3 数据分析 R-score, F-score, M-score的值,为了对客户根据R,F,M进行三等分,我们需要计算数据的极差(最大值和最小值的差),通过对比

    1.4K40

    java核心技术第二篇之数据库SQL语法

    –数值类型、日期类型 例如:查询电脑类商品的最高价格?...分组只是手段,后续经常需要进行汇总: 2.例如:一条语句查询出每种商品的最高价格是多少?...2.分表后: 主表:被其它表引用的表; 从表:引用其它表的表; 09.多表_表和表之间的关系: 1.一对多关系【最常用】: 1).应用场景:客户和订单;分类和商品;部门和员工 客户表:主表...操作数据库 8,能够说出多表之间的关系及其建表原则 a, 说出一对多的应用场景及其建表原则 1).应用场景:客户和订单,分类和商品,部门和员工. 2).在从表(多方)创建一个字段,字段作为外键指向主表...mysqldump –u用户名 –p密码 数据库名>生成的脚本文件路径; 以上备份数据库的命令中需要用户名和密码,即表明该命令要在用户没有登录的情况下使用 数据库恢复 数据库的恢复指的是使用备份产生的

    1.1K20

    数据库常用sql语句总结「建议收藏」

    主键必须包含唯一的值。 主键列不能包含 NULL 值。 每个表都应该有一个主键,并且每个表只能有一个主键。...如果您希望使查询简单且更易维护,那么请不要在日期中使用时间部分! 19.SQL NULL 值 如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。...SQL MAX() 语法 SELECT MAX(column_name) FROM table_name 注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。...(每个客户有多个订单) 我们想要使用 GROUP BY 语句对客户进行组合。...要格式化的字段。 format 必需。规定格式。 现在,我们希望显示每天日期所对应的名称和价格(日期的显示格式是 "YYYY-MM-DD")。

    22.6K54

    告别宽表,用 DQL 成就新一代 BI

    员工表中有所属部门的字段与部门表关联,部门会有经理,而经理也是个员工,部门表中的经理字段会再和员工表关联。...,前者的主键是后者的一部分 现在我们想计算每张订单的总金额 用 SQL 写出来会是这样: SELECT T1.订单编号,T1.客户,SUM(T2.价格) FROM 订单表 T1 JOIN...如果我们把子表中与主表相关的记录看成主表的一个字段,那么这个问题也可以不再使用 JOIN 以及 GROUP BY: SELECT 订单编号,客户,订单明细表.SUM(价格) FROM 订单表 与普通字段不同...T3 ON T2.日期=T3.日期 用子查询把每个表分组汇总后再JOIN起来,如果偷懒不用子查询先JOIN后GROUP,那结果是错误的,统计值会变多。...VIP客户表,直接同化到一个表中了 主子表关联---每个订单的总金额 主子表,被视为一个表了,拖出订单,再选择求和方式拖出明细金额就可以了,不操心怎么关联的 按维对齐汇总---按日期统计3个不同表的汇总金额

    82320

    【愚公系列】《AI智能化办公:ChatGPT使用方法与技巧从入门到精通》 024-ChatGPT的办公应用(ChatGPT在Excel中的应用

    ChatGPT将根据我们的描述,自动生成符合要求的样表,满足我们的需求,我们无须到处搜索或费心编写。ChatGPT使我们获取样表变得更加便捷和高效,节省了时间和精力。...下面是一个包含完整销售数据的样表设计,以及示例数据: 表头设计 日期 (Date): 记录销售发生的日期。 销售员 (Salesperson): 完成销售的员工姓名。...示例数据 日期 销售员 客户 产品编号 产品名称 类别 单价 销售数量 总销售额 备注 2024-03-01 张三 客户A 001 笔记本电脑 电子产品 5000...原本,我们可以使用“开发工具一复选框一设置单元格链接”命令来实现,但是该表中有8条数据,我们需要把相同的操作重复8次,如果数据的数量更多,那么需要重复操作的次数就更多,为了提高工作效率,这些任务我们可以交给...答: 要在Excel中使用VBA代码来为A1:A6区域的每一个单元格增加复选框,并且将这些复选框与对应的单元格链接,你可以按照以下步骤进行: 打开Excel,然后打开你需要操作的工作表。

    14120

    MySQL必知必会笔记(1)

    主键(primary key) 唯一标识表中每行的这个列(或这组列)称为主键 表中的任何列都可以作为主键,只要它满足以下条件: 任意两行都不具有相同的主键值; 每个行都必须具有一个主键值(主键列不允许为...,当第一列相同时,按第二列的顺序排序,依次类推 order by和limit结合可以找出最高和最低的几个数据 按单列排序 select prod_name from products order by...() 返回一个日期的月份部分 second() 返回一个时间的秒部分 now() 返回当前日期和事件 time() 返回一个日期时间的时间部分 year() 返回一个日期的年份部分...(distinct) from products; # 错误 -- 组合聚类函数 4个聚集计算:物品的数目,产品价格的最高、最低以及平均值 SELECT COUNT(*) AS num_items, MIN...表中每个客户的订单总数 select cust_name,cust_state, (select count(*) from orders where orders.cust_id = customers.cust_id

    1.6K10

    案例:用Excel对会员客户交易数据进行RFM分析

    由于公司想针对不同类别不活跃客户进行激活促销;同时,为回馈重点客户,也计划推出一系列针对重点客户的优惠活动,希望保留这些客户,维持其活跃度。因此希望利用该数据进行客户分类研究。...一般来讲,单次交易金额较大的客户,支付能力强,价格敏感度低,是较为优质的客户,而每次交易金额很小的客户,可能在支付能力和支付意愿上较低。当然,也不是绝对的。...通过简单的筛选,可以看到,在交易金额中有0消费额,有负数消费额,继续查看交易类型,发现为“赠送”和“退货”所造成。这些数据在本次分析中用不到,所以在数据处理时需要通过筛选除去。...以上我们得到了: 1)F值:客户这1年共消费了多少次 2)M值:客户每次交易的平均消费金额 但是,R值还需要做些处理。目前R值只得到的是客户最近一次消费日期,需要计算距离数据采集日期的天数。...到此,我们得到R,F,M针对每个客户编号的值 第三步:数据分析 R-score, F-score, M-score的值,为了对客户根据R,F,M进行三等分,我们需要计算数据的极差(最大值和最小值的差),

    2.4K50

    《MySQL入门很轻松》第5章:数据完整性及其分类

    (1) 实体完整性:指通过表中字段或字段组合将表中各记录的唯一性区别开来。例如,在学生表中,学生之间可能姓名相同,班级编号相同,但是每个学生的学号必然不同。...虽然每个字段都有数据类型,但实际并非满足该数据类型的值即为有效,应合乎情理。例如,学生的出生日期不可能晚于录入数据当天的日期天的日期。...(3)引用完整性:数据库中的表和表之间的字段值是有联系的,甚至表自身的字段值也是有联系的,其中一个表中的某个字段值不但要符合其数据类型,而且必须是引用另一个表中某个字段现有的值。...数据表的约束条件 在数据表中添加约束条件归根到底就是要确保数据的准确性和一致性,即表内的数据不相互矛盾,表之间的数据不相矛盾,关联性不被破坏。为此,可以从以下几个方面检查数据表的完整性约束。...假如,要在酒店客户管理系统的数据库company中创建一个数据表用于保存房间信息,并给房间编号添加主键约束,表的字段名和数据类型如下表所示。

    87420

    【PostgreSQL 架构】PostgreSQL 11和即时编译查询

    该规范中的每个查询都附带一个业务问题,因此请参阅第一季度 定价摘要报告查询(Q1) 此查询报告已开票,发货和退回的业务量。 定价摘要报告查询提供了给定日期发货的所有订单项的摘要定价报告。...该日期位于数据库中包含的最晚发货日期的60-120天之内。该查询列出了扩展价格,折扣扩展价格,折扣扩展价格加税,平均数量,平均扩展价格和平均折扣的总计。...: 注释:1998-12-01是数据库填充中定义的最高可能的发货日期。...该查询将包括该日期之前减去DELTA天之前发货的所有订单项。目的是选择DELTA,以便扫描表中95%至97%的行。...微信圈子如果想和志趣相投的同好交流,请关注仙翁的微信圈子【首席架构师圈】。 如果想向大咖提问,近距离接触,或者获得私密分享,请加入知识星球【首席架构师圈】

    1.8K20

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    领券