首页
学习
活动
专区
圈层
工具
发布

「SQL面试题库」 No_115 按日期分组销售产品

今日真题 题目介绍: 按日期分组销售产品 group-sold-products-by-the-date 难度简单 SQL架构 表 Activities : +-------------+-...编写一个 SQL 查询来查找每个日期、销售的不同产品的数量及其名称。 每个日期的销售产品名称应按词典序排列。 返回按 sell_date 排序的结果表。 查询结果格式如下例所示。...---+----------+------------------------------+ 对于2020-05-30,出售的物品是 (Headphone, Basketball, T-shirt),按词典序排列...对于2020-06-01,出售的物品是 (Pencil, Bible),按词典序排列,并用逗号分隔。 对于2020-06-02,出售的物品是 (Mask),只需返回该物品名。...``` sql select sell_date, count(distinct product) num_sold, group_concat(distinct product order

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

    行转列不再复杂:SQL高手都在用的技巧揭秘

    例如: 原始数据:季度销售额按行排列,难以直接生成年度对比报表。 目标:将季度(Q1-Q4)转换为列,直观展示全年趋势。...一、行转列原理:从行到列的数学逻辑 问题场景: 假设有一张销售表 sales: year quarter revenue 2023 Q1 5000 2023 Q2 7000 2023 Q3 6000 2023...Q4 8000 目标: 将季度(Q1-Q4)转换为列,输出: year Q1 Q2 Q3 Q4 2023 5000 7000 6000 8000 核心逻辑: 分组聚合:按年份分组,计算每个季度的销售额...SUM():聚合非目标季度的值为 0,确保结果仅包含目标列的值。 GROUP BY:按年份分组,生成每行的年度汇总。 优势: 兼容性:所有 SQL 数据库支持。...三、实战案例:复杂场景下的行转列 案例 1:多维度聚合(年+季度+产品) 需求:按年份和产品类型,统计各季度销售额。

    3.3K10

    链家面试题:如何分析留存率?

    该业务分析要求查询结果中包括:日期(说明是按每天来汇总数据)、用户活跃数、N日留存数、N日留存率。 1.每天的活跃用户数 先来看活跃用户数这一列如何分析出?...当有“每个”出现的时候,要想到《猴子 从零学会SQL》中讲过的用分组汇总来实现该业务问题。 按每天(登陆时间)分组(group by ),统计应用(相机)每天的活跃用户数(计数函数count)。...3.遇到只有一个表,但是需要计数时间间隔的问题,就要想到用自联结来求时间间隔,类似的有找出连续出现N次的内容、滴滴2020求职真题。...1.查询2019年Q1季度,不同性别,不同年龄的成交用户数,成交量及成交金额 2.2019年1-4月产生订单的用户,以及在次月的留存用户数 【解题思路】 1.查询2019年Q1季度,不同性别,不同年龄的成交用户数...,成交量及成交金额 根据性别、年龄进行分组,利用多表连接及聚合函数求出成交用户数,成交量及成交金额。

    3.6K11

    SQL多维分析

    OLAP(Online analytical processing) 联机分析处理:是计算机技术中快速解决多维分析问题(MDA, multi-dimensional analytical)的一种方法。...例如,在时间维度中,有基于日历的层级结构,一年共四个季度Q1、Q2、Q3、Q4,而每个季度分别有3个月份。因此该层次结构从上往下可分为年份、季度、月份三个级别。...成员(member):每个级别中有一个或多个成员,例如,季度级别中有四个成员Q1、Q2、Q3、Q4。基于成员可用于分组和汇总数据。...分析算子 以下将以Spark SQL举例,说明ROLAP中常用的多维分析算子 GROUP BY GROUP BY 子句通过一组指定的分组表达式对行数据分组,并基于一个或多个聚合函数在对应行进行聚合计算,...GROUPING SETS GROUPING SETS 是基于GROUP BY子句之上提供的高级分组聚合功能,允许在单个 SQL语句中对多组列进行聚合计算。

    2.7K75

    别再手写SQL!一句自然语言Prompt让AI直接吐数据报表

    核心心法:你不是在“写查询”,而是在“描述业务问题” 传统的路径是:业务问题 → 大脑翻译成技术逻辑 → 手写SQL代码 → 执行调试。...关键步骤2:确认你的工作流】 当我提出一个业务问题时,请严格按以下流程响应: 1....**理解与澄清**:用你的话复述我的问题,确保理解一致,并询问可能缺失的关键条件(如:时间范围、特定状态)。 2. **生成SQL**:输出你认为能最准确回答该问题的SQL代码。...2月份华北地区的有效订单,按产品分组后,计算每个产品的销售总额、利润总额和平均毛利率。...第三步:进阶指令——处理更复杂的场景 对于更复杂的分析,你可以使用这些进阶指令引导AI: 指令:进行趋势对比 “对比一下今年第一季度和去年第一季度,各个大区的销售额和订单量变化,用百分比表示增长或下滑。

    18210

    离线报表之五大看板主题需求分析(SQL版)

    按季度:显示指定季度范围内每天的客户访问量 按月:显示指定月份范围内每天的客户访问量 伪SQL: 1.SELECT 2....按季度:显示指定季度范围内每天的客户访问量 按月:显示指定月份范围内每天的客户访问量 伪SQL: 1.SELECT 2....按季度:显示指定季度范围内每天的客户访问量 按月:显示指定月份范围内每天的客户访问量 伪SQL: 1.SELECT 2....显示指定年范围内不同小时段的客户访问量 按季度:显示指定季度范围内不同小时段的客户访问量 按月:显示指定月份范围内不同小时段的客户访问量 伪SQL: 1.SELECT 2....按季度:显示指定季度范围内每天的客户访问量 按月:显示指定月份范围内每天的客户访问量 伪SQL: 1.SELECT 2.

    1.9K20

    salesforce 零基础学习(三十九) soql函数以及常量

    下面以Goods__c表进行简单介绍,在Goods表里面新增了四条数据,揭下来通过GoodsBrand对Goods进行分组,求GoodsPrice的总和,平均值,最大值,最小值以及此种GoodsBrand...当使用Database.countQuery(sql statement)情况下sql语句中使用count(),其他情况下建议使用count(field name),此种写法类似于sql语句中的count...(field name):返回字段对应的季度,其中1代表1月1日-3月31日,2代表4月1日到6月30日,3代表7月1日到9月30日 ,4代表10月1日到12月31日。...apex代码中传递过来当前的年,然后通过CALENDAR_YEAR(CreatedDate)获取当年的匹配,但是如果使用常量,便可以直接CreatedDate = THIS_YEAR搞定问题。...THIS_YEAR : 本年 总结:此篇只是列举部分函数以及常量,如果需要详细自行参看官方PDF,如果内容有错误地方欢迎批评指正,如果有问题欢迎留言。

    3.3K00

    MySQL智慧聚合:GROUP BY与聚合函数深度解析

    以下SQL查询可以按产品分组,计算2025年每个产品的销售总金额、销售总数量以及平均单价: SELECT product_name, SUM(total_amount) AS total_sales...GROUP BY sale_date 将数据按销售日期分组。 SUM(total_amount) 计算每天的销售总额。 COUNT(id) 统计每天的订单数量(假设每条记录代表一个订单)。...,使我们能够同时从时间和季度两个维度分析销售趋势。...另一个常见问题是在多列分组时忽略了NULL值的影响。在分组过程中,所有NULL值会被视为相同的分组,这可能会影响最终的分组结果。...但如果错误地使用order_date分组,结果就会变成按日期统计消费,而不是按用户。这不仅语义错误,还可能因为日期值过多而导致分组效率低下。

    75410

    大数据数仓项目--知行教育_访问咨询主题_全量流程

    文章目录 4.6 全量流程 4.6.1 数据采集 4.6.3 统计分析 4.6.3.2.2 搜索来源分组 4.6.3.2.3 来源渠道分组 4.6.3.2.4 会话来源页面分组 4.6.3.2.5 总访问量...4.6.1 数据采集 4.6.1.1 web_chat_ems表 4.6.1.1.1 SQL: select id, create_date_time, session_id...4.6.1.2 web_chat_text_ems表 4.6.1.2.1 SQL select id, referrer, from_url, landing_page_url...回顾建模分析阶段,我们已经得到了指标相关的维度:年、季度、月、天、小时、地区、来源渠道、页面。分两大类: 时间维度:年、季度、月、天、小时 业务属性维度:地区、来源渠道、页面、总访问量。...;2、按天聚合;3、按月聚合;4、按季度聚合;5、按年聚合;', yearinfo varchar(32) COMMENT '年信息', monthinfo varchar(32) COMMENT

    1.1K20

    常用指标如何分析?

    ) as 客单价 完整SQL如下: select count(distinct 顾客ID) as 购买人数, sum(销售数量*零售价)as 销售金额, sum(销售数量*零售价)/count...(订单号)/count(distinct 顾客ID) as 人均购买频次 到现在,我们已经得到了问题中的常用指标,购买人数、销售金额、客单价、客单件。...但是,问题中还有一个条件,那就是分享下“在2020年度第一季度”的数据 通过条件筛选(where),可以得到符合条件的数据。需要用到日期和时间函数处理年份和季度的提取。...where year(交易日期)="2020" and quarter(交易日期)=1 把前面每一步的SQL放到一起,就是最终的SQL: select count(distinct 顾客ID) as...(交易日期)=1; 分析结果: 【本题考点】 1.考察了日常经营分析中经常用到的指标,常用的指标可以回顾《衡量业务:指标体系》 2.分组汇总是常用的分析方法 3。

    1.6K10

    数据开发数仓工程师上手指南(二)数仓构建分层概念

    分类和分组:维度允许数据按不同的类别和层次进行分类和分组,以支持多维分析。层次结构:维度通常具有层次结构,例如时间维度可以包括年、季度、月、日等层次。示例:时间维度:包含年、季度、月、日等信息。...维度属性是查询约束条件、分组和报表标签生成的基本来源,是数据易用性的关键。维度属性的示例产品维度(Dim_Product):产品ID(Product_ID):唯一标识每个产品的主键。...2.1.10统计粒度统计粒度是统计分析的对象或视角,定义数据需要汇总的程度,可理解为聚合运算时的分组条件(类似于SQL中的group by的对象)。...细粒度(按天记录):SELECT Time_ID, SUM(Sales_Amount) AS Total_Sales_Amount, SUM(Sales_Quantity) AS...我是fanstuck ,有问题大家随时留言讨论 ,对此项目感兴趣的,对此领域感兴趣的不要错过,多谢大家的支持!

    1.3K31

    Pandas部分应掌握的重要知识点

    (2)当只涉及到按列标签查看数据时,可以使用下列简化方法(不使用索引器): print(team['team'].unique()) #按列标签选择一列 team[['name','Q1']].head...四、数据框的合并 问题:有两个数据框,如下图所示,现在期望将它们合并成如下图所示的效果,该如何做?...1、分组及统计 针对team数据框,要求按’team’列统计各团队前两个季度的平均销售额: 方法1:先分组再选择列最后计算,推荐此种写法。...(过滤掉不满足条件的分组) 现在要求找到前两个季度平均销售额都大于45的团队,显然这是一个对分组进行过滤的任务。...mean() 补充说明: ① filter函数用于对分组进行过滤(类似于SQL中的having子句) ② filter函数返回满足过滤条件的分组中的记录,而不是满足条件的分组 ③ 其参数必须是函数

    5K00

    面试 SQL整理 常见的SQL面试题:经典50题

    目录 ​ SQL基础知识整理: 常见的SQL面试题:经典50题 三、50道面试题 2.汇总统计分组分析 3.复杂查询 sql面试题:topN问题 4.多表查询 【面试题类型总结】这类题目属于行列如何互换...:成绩表score] where 查询条件 如:[b.课程号=’0003′ and b.成绩>80] group by 分组 如:[每个学生的平均:按学号分组](oracle,SQL server...= d1.department_id ) — SQL 优化:能使用 EXISTS 就不要使用 IN –问题:查询公司管理者的employee_id,last_name,job_id,department_id...sql面试题:topN问题 工作中会经常遇到这样的业务问题: 如何找到每个类别下用户最喜欢的产品是哪个? 如果找到每个类别下用户点击最多的5个商品是什么?...as b where b.课程号 = a.课程号); 每组最大的N条记录 案例:查询各科成绩前两名的记录 第1步,查出有哪些组 我们可以按课程号分组,查询出有哪些组,对应这个问题里就是有哪些课程号

    3.4K10
    领券