Sql刷题日志(day9)

一、笔试

1、limit offset:分页查询

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

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

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

二、面试

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

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

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

sql 复制代码
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通常用于信号处理和图像处理等领域。 在实际应用中,根据数据的特点和降维的目的,可以选择不同的降维方法。
相关推荐
Bug退退退12322 分钟前
分析 redis 的 exists 命令有一个参数和多个参数的区别
数据库·redis·缓存
老天文学家了25 分钟前
蓝桥杯-不完整的算式
数据库·职场和发展·蓝桥杯
YUNYINGXIA29 分钟前
PostgreSQL初体验
数据库·postgresql
舰长11530 分钟前
ubuntu 安装 Redis新版Redis 7.x
数据库·redis·ubuntu
文牧之1 小时前
Oracle 数据库的默认隔离级别
运维·数据库·oracle
洁✘1 小时前
POSTGRESQL 初体验
数据库·postgresql
李昊翔的博客2 小时前
保证数据库 + redis在读写分离场景中事务的一致性
数据库·redis·oracle
瀚高PG实验室2 小时前
流复备机断档处理
数据库·oracle
528302 小时前
MySQL故障排查与生产环境优化
数据库·mysql
西红柿天尊3 小时前
查看mysql配置文件my.cnf的位置
数据库·mysql·adb