数据开发岗笔试题(2025)
有两张表 orders 和 customers,分别包含order_id、customer_id和 customer_id、customer_name。SQL 中,可以使用 GROUP BY 和 SUM 函数来统计每个产品的总销售额。有一张名为 sales的表,包含id(主键)、product_name(产品名称)、 amount(销售额)。给定一个包含数字的列表[12,45,7,9,30],如何
题目1:数据清理
给定一列数据中有重复值,如何快速删除重复项?
使用 ROWID 和子查询删除重复行
DELETE FROM 表名
WHERE ROWID NOT IN (
SELECT MIN(ROWID)
FROM 表名
GROUP BY 列名1, 列名2, ... -- 根据哪些列判断重复
);
解析:
-
GROUP BY 列名1, 列名2, ...:这部分指定了根据哪些列来判断记录是否重复。所有在这些列中具有相同值的记录将被视为一组重复记录。 -
MIN(ROWID):对于每组重复记录,选择ROWID最小的那条记录
题目2:使用公式计算
在Excel表中,给出一列销售额数据,如何计算平均销售额?
使用 AVERAGE 函数。假设你的销售额数据在 A 列,从 A2 到 A100(根据你的实际数据范围调整),以下是计算方法:
=AVERAGE(A2:A100)
题目3:数据透视表
如何使用数据透视表统计每个产品的总销售额?
SQL 中,可以使用 GROUP BY 和 SUM 函数来统计每个产品的总销售额。根据产品编号进行分组, 聚合函数sum(销售额) 计算每一个产品的销售总额
SELECT
product_id,
SUM(quantity * price) AS total_sales
FROM
sales
GROUP BY
product_id;
解析:
数据透视表(Pivot Table)主要功能是通过动态地重新组织数据,快速对数据进行汇总、分类和分析。
数据透视表与 SQL 的关系
在 SQL 中,数据透视表的功能可以通过 GROUP BY 和聚合函数(如 SUM、AVG、COUNT 等)实现。SQL 是一种静态的查询语言,而数据透视表更强调动态交互性。
题目4:基础查询
有一张名为 sales的表,包含id(主键)、product_name(产品名称)、 amount(销售额)。如何查询销售额大于100的所有记录?
select id,product_name, amount from sales
where amount >100;
题目5: 分组统计
如何按产品名称统计每种产品的销售总额?(信息来自题目4)
select product_name, sum(amount) as 销售总额
from sales group by product_name;
题目6:联表查询
有两张表 orders 和 customers,分别包含order_id、customer_id和 customer_id、customer_name。如何查询每个订单的客户名称?
select o.order_id, o.customer_id, c.customer_name
from orders o
left join customers c
on o.customer_id = c.customer_id;
解析:
为什么没有使用内连接>>内连接: 2张表能关联上的数据才会出现, 即只有当orders表中的customer_id在customers表中也存在时,相关的订单和客户信息才会出现在结果集中。
左连接: 返回主表的所有数据>> orders表是主表, 即使右表(customers表)中没有匹配的记录。对于没有匹配的记录,右表的字段将显示为NULL
题目7:数据处理
给定一个包含数字的列表[12,45,7,9,30],如何使用Python 快速找到最大值和最小值?
# 使用内置函数 max() 和 min()
numbers = [12, 45, 7, 9, 30]
maximum = max(numbers)
minimum = min(numbers)
print(f"最大值: {maximum}")
print(f"最小值: {minimum}")
题目8:数据可视化
如何使用Matplotlib绘制一张柱状图,显示不同产品的销售额?
-- 使用 Matplotlib 绘制产品销售额柱状图的步骤
导入必要的库:导入 Matplotlib 的 pyplot 模块
准备数据:创建两个列表,一个包含产品名称,另一个包含对应的销售额数据
创建画布:使用 plt.subplots() 创建图形和坐标轴对象
绘制柱状图:使用 ax.bar() 函数,将产品名称作为 x 轴,销售额作为 y 轴值
添加数值标签:遍历每个柱子,在柱子顶部添加销售额数值
设置标题和轴标签:添加图表标题、x轴标签和y轴标签
美化图表:设置适当的y轴范围,移除顶部和右侧边框
显示图表:使用 plt.show() 函数显示最终图表
Matplotlib 是一个用于 Python 的绘图库,主要用于创建静态、动画和交互式可视化图表。它提供了丰富的绘图功能,包括折线图、柱状图、散点图、饼图、直方图等
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)