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

「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

1.1K30

sql sever分组查询和连接查询

分组查询 select 查询信息 from 表名 where 条件 group by 按照列分组(可多个 ,隔开) order by 排序方式 (查询信息如果列名和聚合函数同时出现,要么在聚合函数中出现...,要么就使用分组进行查询) having 条件    分组筛选(一般和group by连用,位置在其后) where:用来筛选from子句指定的操作所产生的行 group by:用来分组where子句输出...having:用来从分组的结果中筛选行 1.分组查询是针对表中不同的组分类统计和输出的 2.having子句能够在分组的基础上,再次进行筛选 3.在SQL语句中使用次序,where-->group by...-->having 解剖: 1.select  查询什么 2.from  从哪里查询 3.where  列名条件(模糊查询,关系表达式查询) 4.grop by  分组查询 5.haing  分组后的聚合函数筛选

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

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

    例如: 原始数据:季度销售额按行排列,难以直接生成年度对比报表。 目标:将季度(Q1-Q4)转换为列,直观展示全年趋势。...(Q1-Q4)转换为列,输出: year Q1 Q2 Q3 Q4 2023 5000 7000 6000 8000 核心逻辑: 分组聚合:按年份分组,计算每个季度的销售额。...SUM():聚合非目标季度的值为 0,确保结果仅包含目标列的值。 GROUP BY:按年份分组,生成每行的年度汇总。 优势: 兼容性:所有 SQL 数据库支持。...可控性:可灵活调整列名和聚合方式(如MAX()、AVG())。 方法 2:PIVOT 语句(简洁版) 适用场景:SQL Server、Oracle、Snowflake 等支持PIVOT的数据库。...三、实战案例:复杂场景下的行转列 案例 1:多维度聚合(年+季度+产品) 需求:按年份和产品类型,统计各季度销售额。

    3.8K10

    CodeBuddy+SQLazy MCP 自动化编写和倒译复杂 SQL 实践

    还可以看到 SQL 的执行结果和.nsql 代码执行结果的对比,看看结果是否完全一致:从结果提示中,可以看到.nsql 文件的执行结果和原 SQL 是一致的。...,计算每个零件的年度同比销售额(与上一年度对比)和季度环比销售额(与上一季度对比),并计算对应的增长率百分比。...TPC-H Q7:按国家、年份统计发货量与金额sql/SQL倒译 select 供应商国家.国家名称 as 供应商国家, 客户国家.国家名称 as 客户国家, year(订单明细.发货日期) as 年份...TPC-H Q8:按国家、年份统计市场份额sql/SQL倒译 select 年份, sum(case when 供应商国家.国家名称 = 'BRAZIL' then 金额 else 0 end) / sum...TPC-H Q9:按国家、年份统计零件利润sql/SQL倒译 select 国家名称, 年份, sum(利润) as 总利润from ( select 国家.国家名称 as 国家名称, year(订单.

    23710

    TRAE + SQLazy MCP 自动化编写 SQL 实践

    4.5 TPC-H Q9:六表 join 加双字段关联,按国家和年份统计零件利润SQL 写法select国家名称,年份,sum(利润) as 总利润from(select国家.国家名称 as 国家名称,...4.9 年同比 + 季环比:下标引用取代自关联需求:统计每个零件在各年份的销售情况,计算每个零件的年度同比销售额(与上一年度对比)和季度环比销售额(与上一季度对比),并计算对应的增长率百分比。...SQL 里的难点:同一张订单明细表既要按年汇总又要按季汇总,两次汇总结果之间要自关联拼接,才能把上年销售额和上季销售额带回同一行。自关联的 join 条件还要处理年份差和季度差的逻辑,代码冗长且易错。..., 年销售额, 上年销售额, 同比增长率百分比SQL 里要反复自关联同一张表来把上期值带到当前行,年与年之间、季与季之间的衔接还要判断年份差和季度差。...整个过程里,SQL 只出现在两个地方:编译按钮按下去之后,和翻译比对通过之后——它仍在为数据库服务,只是不再需要你先学会它。

    9810

    【数据库设计和SQL基础语法】--查询数据--分组查询

    4.2 GROUP BY 与 ORDER BY 的区别 GROUP BY 和 ORDER BY 是 SQL 查询中两个不同的子句,它们有着不同的作用: GROUP BY: 作用: GROUP BY 用于对查询结果进行分组...六、ROLLUP 和 CUBE 6.1 ROLLUP 的使用 ROLLUP 是 SQL 中用于进行多层次聚合的操作符之一。它允许你在查询中指定多个层次的分组,并在同一查询中获取这些层次的汇总结果。...6.3 ROLLUP 与 CUBE 的区别 ROLLUP 和 CUBE 都是 SQL 中用于进行多层次聚合的操作符,它们的主要区别在于生成的聚合结果的全面性和维度的不同。...七、 最佳实践和注意事项 在进行分组查询时,有一些最佳实践和注意事项可以帮助你编写更有效和可维护的 SQL 查询: 选择适当的聚合函数: 根据你的需求选择正确的聚合函数,如 COUNT、SUM、AVG、...八、总结 分组查询是SQL中重要的功能,通过GROUP BY子句将数据按指定列分组,结合聚合函数计算统计信息。ROLLUP和CUBE提供了多层次聚合的方式。

    4.2K10

    ChatBI 不止 Text2SQL,加上多维分析才算全链 AI+ 商业智能

    比如你说“展示华东区上季度销售”,它能返回数据,这当然有用,可真正的分析才刚刚开始:怎么算增长、怎么排名次、怎么看趋势……这些关键步骤,依然需要回到传统界面去拖拽设置。为什么会这样?...多维分析是个“动作序列,是一连串的交互操作:先按什么分组、再对什么汇总、如何排序、是否计算衍生指标……这些步骤之间存在逻辑依赖和状态传递,且高度依赖具体的 BI 工具上下文。...【注】传统拖拽分析的方式仍然支持点击生成分组报表我们首先来生成一个分组报表(按省份和年份汇总订单金额)。在输入框中输入:表头 客户省 签单年点击执行,立即就得到了一张分组报表。...输入:不显示明细修改表头名称,分别执行两条命令:客户省改为省份签单年改为年份这样我们就得到了一张基于省份和年份分组汇总订单金额的汇总表。...还可以进行行列互换,输入:左表头年份,上表头省份统计图通过命令还可以生成各种类型的统计图及配色方案,输入如下命令:柱形图 分类 省份 系列 订单金额就得到了下面按省份统计订单金额的柱形图。

    51610

    SQL多维分析

    例如,在时间维度中,有基于日历的层级结构,一年共四个季度Q1、Q2、Q3、Q4,而每个季度分别有3个月份。因此该层次结构从上往下可分为年份、季度、月份三个级别。...成员(member):每个级别中有一个或多个成员,例如,季度级别中有四个成员Q1、Q2、Q3、Q4。基于成员可用于分组和汇总数据。...上卷 上卷(roll-up):也被称为合并(consolidation)和聚合(aggregation),一般会通过两种方式执行上卷: 减少维度 基于层级结构向上汇总,例如月份 → 季度 → 年份的级别聚合...一般会通过两种方式执行下钻: 增加维度 基于层级结构向下拆解,例如 年份 → 季度 → 月份的级别拆解 即下钻是通过增加维度或者级别拆解进行分析数据细分。...的聚合组列包括: city, car_model:根据城市city和车型car_model 分组聚合,计算每个城市和每个车型组合的总销量; city:根据城市city分组聚合,计算每个城市的总销量; 空集合

    3.1K75

    京东大数据面试SQL-GMV按品类和地区双维度统计

    每周一的经营分析会上,品类运营和区域经理各需要一份报表——品类运营想看"数码在全国各区域分别卖了多少,合计多少",区域经理想看"华北区各品类分别卖了多少,合计多少"。...如果写两条 SQL 分别出报表,不仅麻烦而且数据可能不一致。有没有一条 SQL 同时满足两个视角?这就是多维聚合(Multi-Dimensional Aggregation)要解决的问题。...二、题目 现有一张订单明细表 t5_jd_order_detail,记录了每笔订单的品类、地区和销售额。...五、常见坑点 ⚠️ NULL vs '全部品类' 聚合行中,不参与分组的列会被置为 NULL。一定要用 COALESCE 替换,否则报表中全是 NULL,完全看不懂。...region='华北' THEN sales END) 的方式手动做行列转换 七、知识点总结 选择指南 需求 用哪个 只需要层级汇总(品类→总计) ROLLUP 需要全部交叉组合(维度少) CUBE 需要部分组合

    29900

    数据拆分、合并思路(Java)

    业务: 为项目满意度数据实现导入和查询功能. 需求: 数据库中数据为季度数据,一个项目会有0-4条数据,一年不定数量的季度满意度数据如何导入?如何按年查询?...导入: 导入的模板数据包含项目信息,年份,不定数量的季度数据,我需要将该年份的数据导入进数据库,所以这里foreach遍历easyExcel读取到的数据,每个对象先把四个季度的满意度信息提取出来,以季度...然后遍历这个map,根据项目信息和当前的key(季度)查询数据库判断该数据是否存在,存在就更新,不存在就新增....BufferedInputStream(file.getInputStream())) .head(SatisfactionInfoOfYearRes.class).sheet().doReadSync(); //遍历,按季度拆分数据...我的思路是根据项目和年份分组,再通过mysql的GROUP_CONCAT()函数合并数据 SELECT a.project_id,a.project_name,a.

    1K60

    C# 教程: 给 Excel 添加自动筛选器(日期颜色文本全覆盖)

    本文将循序渐进地演示如何使用 C# 和该组件,实现三种常用的自动筛选场景:基础范围筛选、按日期分组筛选和自定义文本匹配筛选。所有代码均经过规范化处理,可直接复用。...内置日期筛选:按年月日分组更常见的需求是,根据日期字段筛选出特定月份、季度或年份的数据。...Free Spire.XLS 提供了 AddDateFilter 方法,允许按年、月、日、小时、分钟等粒度进行分组过滤。...例如,筛选 2022 年第一季度,可将类型设为 Quarter,年份为 2022,季度参数为 1。...无论是启用基础的列筛选器,还是利用内置日期分组或自定义文本匹配,该组件都提供了直观的 API 和稳定的性能。本文三个示例覆盖了最常见的筛选场景,您可根据实际数据特征灵活组合。

    37000

    sql算术运算符_SQL运算符教程–按位,比较,算术和逻辑运算符查询示例

    在数据库级别,我们通过编写SQL查询来请求数据库的特定信息。 这个SQL查询指定我们要接受的数据和格式,我们要接受进去。    ...对于这些示例,我们将使用PostgreSQL,但是此处显示的查询和概念将轻松转换为任何其他现代数据库系统(例如MySQL,SQL Server等)。    ...In SQL, they're simply AND and OR.   在许多编程语言中, and和or由&&和||表示。 。 在SQL中,它们只是AND和OR 。    ...尽管在实践中并不经常使用按位运算符,但是为了完整起见,让我们看一个简单的示例。    ...例如,让我们看一下按位“和”运算符: & 。    SELECT age::bit(8) & '11111111' FROM users;  ?column?

    1.6K00

    WEB 上的计算引擎

    Web 上的数据接口以 restful 和 WebService 为主,格式通常是多层的 Json 和 XML。多层数据可承载更通用更丰富的信息,但结构上比传统的二维数据复杂,计算难度也更大。...强大的计算能力对于解析后的序表,SPL 提供了丰富计算函数,可以轻松完成日常的 SQL 式计算。...(trainer.trainerId; ownerColours.array().count():times)SPL 支持分步计算、有序计算、分组后计算等逻辑较复杂的计算,很多 SQL/ 存储过程难以实现的计算...SPL 有丰富的日期和字符串函数,能有效简化相关计算。...:"aa|bb|cc".split("|") // 返回 ["aa","bb","cc"]SPL 还支持年份增减、求季度、按正则表达式拆分字符串、拆出单词、按标记拆 HTML 等大量函数。

    1.9K00

    精选100个Pandas函数

    后向填充;使用缺失值后一个填充缺失值 between() 区间判断 c count() # 计数(不包含缺失值) cov() 计算协方差 corr() # 计算相关系数 cumsum() 累计和...drop_duplicates() #删除重复值 dropna() # 删除缺失值 diff() 一阶差分 dt.date() 提取日期 dt.time() 提取时间 dt.year() 提取年份...dt.month() 提取年份 dt.day() 提取天/日 dt.hour() 提取小时 dt.minute() 提取分 dt.second() 提取秒 dt.quarter()...explode() # 爆炸函数 f fillna() 填充缺失值 ffill() # 前向填充;使用前一个值填充缺失值 factorize() 因子化转换 g groupby() # 分组...sort_index() 按索引排序 stack() # 堆叠;列转行 t to_dict() 转为字典 tolist() 转为列表 transpose .T # 转置 u unique(

    1.5K30

    Python~Pandas 小白避坑之常用笔记

    fillna(value=0, inplace=True) # 填充空值, value=填充的值 # sheet1['年度'] = sheet1['日期'].dt.year # 根据日期字段 新增年份列...# sheet1['季度'] = sheet1['日期'].dt.quarter # 根据日期字段 新增季度列 # sheet1.reset_index() # 重置索引 # sheet1.concat..., sheet_name='SalesData', skiprows=0, usecols=None) sheet1['年度'] = sheet1['日期'].dt.year # 根据日期字段 新增年份列...sheet1['季度'] = sheet1['日期'].dt.quarter # 根据日期字段 新增季度列 # 按年度分组,指定销售额列进行求和计算 compute_result = sheet1....sheet1['季度'] = sheet1['日期'].dt.quarter # 根据日期字段 新增季度列 # 针对字段:年度、国家进行分组,求和计算字段:销售额、利润 compute_result

    4.8K30

    泰迪杯A题通讯产品销售和盈利能力分析一等奖作品

    ,利用groupby函数对“地区”,“国家”,“服务分类”进行分组,统计出销售额和利润数据。...根据2017-2020年第一季度的各个地区,国家,服务分类的销售额和利润数据,给出明确的预测模型,预测出2021年第一季度销售额和利润数据。.../各年份各国家的利润同比增长率.csv") temp2 输出为: 1.1.5统计各年度各服务分类销售额数据&计算同比增长率 通过groupby函数对[“年份”, “服务分类"]进行分组,对”销售额.../各年份各服务分类的销售额同比增长率.csv") temp3 输出为: 1.1.6统计各年度各服务分类利润数据&计算同比增长率 通过groupby函数对[“年份”, “服务分类"]进行分组,对”利润..."] = quarter year_quarter 输出为: 通过对[“年度”, “季度”, “地区”, “国家”, “服务分类”]进行分组,求出”销售额"和”利润“总值 sale = year_quarter.groupby

    3.7K10

    HAWQ取代传统数仓实践(十八)——层次维度

    例如,示例数据仓库中的日期维度就有一个四级层次:年、季度、月和日。这些级别用date_dim表里的列表示。日期维度是一个单路径层次,因为除了年-季度-月-日这条路径外,它没有任何其它层次。...该查询按产品(product_category列)和日期维度的三个层次级别(year、quarter和month列)分组返回销售金额。...下面使用两种方法进行钻取查询,结果显示了每个日期维度级别,即年、季度和月各级别的订单汇总金额。...附加的min(date)和sequence导出列用于对输出结果排序显示。这种写法使用标准的SQL语法,具有通用性。        ...因此该语句会生成按产品类型、年、季度、月;类型、年、季度;类型、年分组的聚合数据行。

    2K60

    常用指标如何分析?

    “产品”字段关联,销售订单表和销售网点通过“交易网点”关联 【问题】分析在2020年度第一季度的购买人数,销售金额,客单价,客单件 人均购买频次 【解题思路】 分析在2020年度第一季度的购买人数,销售金额...但是,问题中还有一个条件,那就是分享下“在2020年度第一季度”的数据 通过条件筛选(where),可以得到符合条件的数据。需要用到日期和时间函数处理年份和季度的提取。...where year(交易日期)="2020" and quarter(交易日期)=1 把前面每一步的SQL放到一起,就是最终的SQL: select count(distinct 顾客ID) as...where year(交易日期)="2020" and quarter(交易日期)=1; 分析结果: 【本题考点】 1.考察了日常经营分析中经常用到的指标,常用的指标可以回顾《衡量业务:指标体系》 2.分组汇总是常用的分析方法...考察字段别名的应用,把复杂的计算字段用as改成别名,缩短SQL 语句,让查询语句比较简洁 4.考察日期和时间处理函数的用法,常用的日期和时间函数如下: 日期时间段除了用以上提取函数外,还可以用between

    1.7K10

    Kettle构建Hadoop ETL实践(八-1):维度表技术

    该转换按产品(product_category列)和日期维度的三个层次级别(year、quarter和month列)分组返回销售金额。 ?...第三个步骤是分组,其分组字段和聚合操作如图8-10所示。...图8-10 分组求和 这是一个非常简单的分组查询转换,结果输出的每一行度量(销售订单金额)都沿着年-季度-月的层次分组,结果如下。...后面是三个分组步骤,先按product_category分组,然后分别按年、年-季度、年-季度-月分组,对order_amount求和,对dt求最小值,步骤的分组与聚合设置如图8-12所示。...图8-12 分别按年、年-季度、年-季度-月分组聚合 后面的三个增加常量步骤,增加一个名为sequence的Integer类型字段,分别赋值1、2、3,用于对(year,quarter

    4.7K31

    【重学 MySQL】三十八、group by的使用

    示例 假设你有一个名为sales的表,其中包含year、product和amount三个字段,分别代表销售年份、产品名称和销售金额。...100.00), (2020, 'Product B', 200.00), (2021, 'Product A', 150.00), (2021, 'Product B', 250.00); 如果你想按年份和产品分组查看销售金额...,并在最后添加按年份的总计和所有记录的总计,你可以这样做: SELECT year, product, SUM(amount) AS total_sales FROM sales GROUP BY year...分组计算每个产品的销售总额,然后在每个年份的末尾添加该年份的总计(此时product列为NULL),最后在结果集的末尾添加所有记录的总计(此时year和product列均为NULL)。...注意事项 使用WITH ROLLUP时,应确保你的SQL查询可以处理NULL值,因为汇总行会包含NULL值。

    2.7K10
    领券