当前位置: 首页 > news >正文

Sql刷题日志(day9)

一、笔试

1、limit offset:分页查询

SELECT column1, column2, ...
FROM table_name
LIMIT number_of_rows OFFSET start_row;
--跳过前 start_row 行,返回接下来的 number_of_rows 行。

2、lag、lead:查询前后行数据

--lag函数用于访问当前行的上一行(或指定行)的数据
LAG(column, n, default_value) OVER (PARTITION BY partition_columnORDER BY order_column
)
----lead函数用于访问当前行的下一行(或指定行)的数据
LEAD(column, n, default_value) OVER (PARTITION BY partition_columnORDER BY order_column
)

二、面试

1、求每个班级学生总成绩最高的3名

可以使用 SQL 的窗口函数和排名函数来解决这个问题。

假设学生表的名称为 students,包含学生的 id,班级 id 和成绩,那么可以使用以下 SQL 查询语句来获取每个班级学生总成绩最高的3名:

WITH ranked_scores AS
(SELECT student_id, class_id, score, RANK() OVER(PARTITION BY class_id ORDER BY SUM(score) DESC) AS rank                               
FROM students 
GROUP BY student_id, class_id, score
)
SELECT class_id, student_id, SUM(score) AS total_score 
FROM ranked_scores 
WHERE rank <= 3 
GROUP BY class_id, student_id 
ORDER BY class_id, total_score DESC;

2、insert into 和 insert overwrite有什么区别?join 和left join的区别?

  • 在关系型数据库中,insert into用于向表中插入新的行,而insert overwrite用于覆盖表中已有的数据,重新写入新的数据
  • left join和join之间的区别在于,left join返回左边表中所有行,而右边表中没有匹配行的地方填充为 NULL。而join只返回两个表中都有匹配的行。另外,在使用left join时,需要注意左边表和右边表的顺序,因为左右表的顺序会影响连接结果的顺序。

3、与聚合函数一起使用的筛选关键字是什么?

与聚合函数一起使用的筛选关键字是HAVING。在使用聚合函数如COUNT、SUM、AVG等对数据进行分组后,可以使用HAVING关键字对分组后的数据进行筛选,类似于WHERE对原始数据的筛选。HAVING关键字接在GROUP BY语句后面,可以使用聚合函数和分组字段进行筛选

4、你对风控业务有多少认识?

  • 风控业务主要是指对企业风险进行控制和管理的业务,其中包括信用评估、反欺诈、交易风险控制、合规监管等方面
  • 作为数据分析工程师,对风控业务的了解是很重要的。在此方面,我对信用评估和反欺诈有一定的了解,了解一些常见的风险控制手段和工具例如评分卡、逻辑回归、决策树等等,以及一些常见的反欺诈技术,例如黑名单过滤、IP归属地识别等等
  • 另外,我还了解到合规监管在风控业务中的重要性,例如在个人信息保护、反洗钱、反恐怖融资等方面,都需要遵循国家的相关法规和政策。

总之,我认为风控业务是数据分析工程师所需要了解的重要领域之一。

5、介绍随机森林

  • 随机森林(Random Forest)是一种集成学习算法,通过训练多个决策树并结合它们的预测结果来提高预测的准确性。
  • 随机森林的基本原理是:构建多个决策树,每个决策树的特征和样本是随机选择的。在预测时,多个决策树的预测结果进行投票,选出出现次数最多的结果作为最终的预测结果。 
  • 随机森林的优点包括: 
    • 可以处理高维数据和非线性关系; 
    • 可以通过特征重要性评估方法获取特征的重要程度,帮助进行特征选择和数据可视化; 
    • 可以防止过拟合和提高模型的泛化能力。 
  • 随机森林的缺点包括: 
    • 训练速度较慢; 
    • 难以解释模型的预测结果。 
  • 实际应用中,随机森林常用于分类和回归问题,比如文本分类、情感分析、股票价格预测等。

6、介绍降维方法 

  • 降维方法是指在保持数据重要信息的前提下,减少数据特征维度的方法。
  • 在大数据处理中,降维方法可以用来减少存储空间、降低计算复杂度、提高模型效率等。
  • 以下是一些常见的降维方法: 
    • 主成分分析(PCA):是一种线性降维方法,它通过将数据映射到低维空间中的新坐标系,最大程度地保留数据的方差来实现降维。PCA通常用于特征提取和数据可视化。 
    • t-SNE:是一种非线性降维方法,它将高维数据映射到二维或三维空间中,以便于可视化。t-SNE通过测量相似度来保留数据之间的局部结构,并将其映射到低维空间中。
    • 局部线性嵌入(LLE):是一种非线性降维方法,它试图在低维空间中保留数据的局部结构。LLE通过在高维空间中找到每个数据点周围最近的数据点,并尝试将其映射到低维空间中的相应位置来实现降维。 
    • 独立成分分析(ICA):是一种非线性降维方法,它试图将数据分解为多个独立的成分。ICA通常用于信号处理和图像处理等领域。 在实际应用中,根据数据的特点和降维的目的,可以选择不同的降维方法。

相关文章:

  • Ansible模块——管理100台Linux的最佳实践
  • Ansible模块——通过 URL 下载文件
  • HTTP/HTTPS与SOCKS5协议在隧道代理中的兼容性设计解析
  • django回忆录(Python的一些基本概念, pycharm和Anaconda的配置, 以及配合MySQL实现基础功能, 适合初学者了解)
  • 人工智能+:职业技能培训的元命题与能力重构
  • HarmonyOS NEXT~鸿蒙系统与Uniapp跨平台开发实践指南
  • 从混乱到高效:我们是如何重构 iOS 上架流程的(含 Appuploader实践)
  • 自动化测试脚本点击运行后,打开Chrome很久??
  • ArcGIS操作16:添加经纬网
  • 创建一个使用 GPT-4o 和 SERP 数据的 RAG 聊天机器人
  • DeepSeek-V3 vs GPT-4:技术对比与性能评测
  • 从零开始创建React项目及制作页面
  • Linux跨网络通信中IP与MAC的作用
  • [Git] 初识 Git 与安装入门
  • 21. 自动化测试框架开发之Excel配置文件的测试用例改造
  • Python、Pytorch、TensorFlow、Anconda、PySide、Jupyter
  • 能碳一体化的核心功能模块
  • React Flow 数据持久化:Django 后端存储与加载的最佳实践(含详细代码解析)
  • [SpringBoot]Spring MVC(6.0)----图书管理系统(初)
  • vue3前端后端地址可配置方案
  • 太原一居民手机号被企业公示常遭骚扰,负责人称是用过的旧号
  • 东南亚五大经济体一季度增长放缓,美国关税大棒或阻全年增长
  • “打铁”热邂逅江南水乡,长三角首个国际级铁三赛事有何不同
  • “南昌航空一号”成功发射,赣江鄱阳湖有了专属卫星守护
  • 美国失去最后一个AAA评级,资产价格怎么走?美股或将触及天花板
  • 陶石不语,玉见文明:临平玉架山考古博物馆明日开馆