二十二、SQL 数据分析实战(案例1~案例10)

该文提供了多个MySQL查询案例,涉及用户信息、员工绩效、销售数据等场景,包括按区域统计用户数、按性别和区域统计用户数、筛选绩效不达标员工、查询销售冠军次数、计算月销售额涨幅、查找每个季度绩效均超70分的员工、获取部门信息、行列转换和多列比较等操作,旨在锻炼和提升SQL查询和数据处理能力。
摘要由CSDN通过智能技术生成

案例1:用户信息表 stu_table

stu_table 表如下所示:

mysql> SELECT * FROM `stu_table`;
-- id:用户ID name:姓名 class:区域 sex:性别
+----+--------+-------+------+
| id | name   | class | sex  |
+----+--------+-------+------+
| 1  | 王小凤 | 一区  ||
| 10 | 李春山 | 三区  ||
| 2  | 刘诗迪 | 一区  ||
| 3  | 李思雨 | 一区  ||
| 4  | 张文华 | 二区  ||
| 5  | 张青云 | 二区  ||
| 6  | 徐文杰 | 二区  ||
| 7  | 李智瑞 | 三区  ||
| 8  | 徐雨秋 | 三区  ||
| 9  | 孙皓然 | 三区  ||
+----+--------+-------+------+
10 rows in set (0.00 sec)

【练习1】查询每个区域的用户数。运行结果如下表所示:
在这里插入图片描述
【解析1】首先对区域进行分组group by,然后对每个组内的用户进行计数聚合运算count,然后参考如下代码:

mysql> SELECT class,count( id ) AS stu_num FROM stu_table GROUP BY class;

【练习2】查询每个区域的男女用户数。运行结果如下表所示:
在这里插入图片描述
【解析2】主要考察的就是按照多列进行分组聚合的知识,直接在group by后面指明要分组的列名即可,且列名与列名之间用逗号隔开,然后参考如下代码:

mysql> SELECT
    ->   class,
    ->   sex,
    ->   COUNT(id) AS stu_num
    -> FROM
    ->   stu_table
    -> GROUP BY class,
    ->   sex;

【练习3】查询姓张的用户数。运行结果如下表所示:
在这里插入图片描述
【解析3】首先需要思考怎么判断用户是否姓张,可以使用like关键字或者是使用正则表达式,接下来使用where将这些用户筛选出来,最后使用count针对筛选出来的用户进行计数,参考如下代码:

mysql> SELECT COUNT(*) AS xz_num FROM stu_table WHERE `name` LIKE '张%';
mysql> SELECT COUNT(id) AS xz_num FROM stu_table WHERE `name` REGEXP '^张';

案例2:员工绩效表 score_table

score_table 表如下所示:

mysql> select * from score_table;
-- name: 姓名 group: 部门 score: 绩效得分
+----+--------+-------+-------+
| id | name   | group | score |
+----+--------+-------+-------+
|  1 | 王小凤 | 一部  | 88    |
|  2 | 刘诗迪 | 一部  | 70    |
|  3 | 李思雨 | 一部  | 92    |
|  4 | 张文华 | 二部  | 55    |
|  5 | 张青云 | 二部  | 77    |
|  6 | 徐文杰 | 二部  | 77    |
|  7 | 李智瑞 | 三部  | 56    |
|  8 | 徐雨秋 | 三部  | 91    |
|  9 | 孙皓然 | 三部  | 93    |
| 10 | 李春山 | 三部  | 57    |
+----+--------+-------+-------+
10 rows in set (0.00 sec)

【练习4】筛选出绩效不达标的员工(绩效得分小于60分)。运行结果如下表所示:
在这里插入图片描述
【解析4】需要知道不达标的标准是什么,然后利用where来限定不达标的条件即可,参考如下代码:

mysql> SELECT * FROM score_table WHERE score < 60;

【练习5】筛选出姓张且绩效不达标的员工(绩效得分小于60分)。运行结果如下表所示:
在这里插入图片描述
【解析5】这里主要用到了多条件筛选的知识点,多个条件之间用and进行关联,然后将关联后的代码放在where后面即可,参考如下代码:

mysql> SELECT * FROM score_table WHERE `name` LIKE '张%' AND score < 60;
mysql> SELECT * FROM score_table WHERE `name` REGEXP '^张' AND score < 60;

案例3:销售冠军信息表 month_table

month_table 表记录了每月的销售冠军信息,如下所示:

mysql> select * from month_table;
-- name: 姓名 month_num: 月份
+------+--------+-----------+
| id   | name   | month_num |
+------+--------+-----------+
| E002 | 王小凤 | 1         |
| E001 | 张文华 | 2         |
| E003 | 孙皓然 | 3         |
| E001 | 张文华 | 4         |
| E002 | 王小凤 | 5         |
| E001 | 张文华 | 6         |
| E004 | 李智瑞 | 7         |
| E002 | 王小凤 | 8         |
| E003 | 孙皓然 | 9         |
+------+--------+-----------+
9 rows in set (0.00 sec)

【练习6】查询获得销售冠军的次数超过2次的人及其获得销售冠军的次数。运行结果如下表所示:
在这里插入图片描述
【解析6】要查询获得销售冠军的次数超过2次的人及其获得销售冠军的次数,首先需要获取每个人获得销售冠军的次数,对id列和name列进行group by,然后在组内对month_num列进行计数就可以得到每个人获得销售冠军的次数,接着利用having对分组聚合后的结果进行条件筛选,参考代码如下:

mysql> SELECT
    ->   `id`,
    ->   `name`,
    ->   COUNT(month_num) AS 'num'
    -> FROM
    ->   month_table
    -> GROUP BY `id`,
    ->   `name`
    -> HAVING COUNT(month_num) > 2;

案例4:月销售额记录表 sale_table

月销售额记录表 sale_table,这张表记录了某部门2018年和2019年某几个月的销售额,sale_table 表如下所示:

mysql> select * from sale_table;
-- year_num: 年份 month_num: 月份 sales: 销售额
+----------+-----------+-------+
| year_num | month_num | sales |
+----------+-----------+-------+
|     2019 |         1 |  2854 |
|     2019 |         2 |  4772 |
|     2019 |         3 |  3542 |
|     2019 |         4 |  1336 |
|     2019 |         5 |  3544 |
|     2018 |         1 |  2293 |
|     2018 |         2 |  2559 |
|     2018 |         3 |  2597 |
|     2018 |         4 |  2363 |
+----------+-----------+-------+
9 rows in set (0.00 sec)

【练习7】查询2019年的月销售额最高涨幅是多少。运行结果如下表所示:
在这里插入图片描述
【解析7】要查询2019年的月销售额最高涨幅,首先需要通过where把2019年的每月销售额筛选出来,然后在2019年的月销售额中寻找最大和最小的销售额,对两者做差并进行相应计算,就是我们想要的结果,参考代码如下:

mysql> SELECT
    ->   MAX(sales) AS max_sales,
    ->   MIN(sales) AS min_sales,
    ->   MAX(sales) - MIN(sales) AS cha,
    ->   (MAX(sales) - MIN(sales)) / MIN(sales) AS growth
    -> FROM
    ->   sale_table
    -> WHERE year_num = 2019;

案例5:每季度员工绩效得分表 score_info_table

每季度员工绩效得分表 score_info_table 记录了每位员工每个季度的绩效得分,score_info_table 表如下所示:

mysql> SELECT * FROM `score_info_table`;
+------+--------+----------+-------+
| id   | name   | subject  | score |
+------+--------+----------+-------+
|    1 | 王小凤 | 第一季度 |    88 |
|    1 | 王小凤 | 第二季度 |    55 |
|    1 | 王小凤 | 第三季度 |    72 |
|    3 | 徐雨秋 | 第一季度 |    92 |
|    3 | 徐雨秋 | 第二季度 |    77 |
|    3 | 徐雨秋 | 第三季度 |    93 |
|    2 | 张文华 | 第一季度 |    70 |
|    2 | 张文华 | 第二季度 |    77 |
|    2 | 张文华 | 第三季度 |    91 |
+------+--------+----------+-------+
9 rows in set (0.00 sec)

【练习8】查询每个季度绩效得分都大于70分的员工。运行结果如下表所示:
在这里插入图片描述
【解析8】要查询每个季度绩效得分都大于70分的员工,只要能够保证每个季度每位员工的最小绩效得分是大于70分的,就可以说明这位员工的每个季度绩效得分都大于70分。所以第一步需要查询每位员工的最小绩效得分,先对id列和name列进行group by 分组,然后在组内求最小值,接着将最小绩效得分大于70分的员工通过having筛选出来即可,参考代码如下:

-- 写法1: 
mysql> SELECT
    ->   `id`,
    ->   `name`
    ->   -- min(score)
    -> FROM
    ->   score_info_table
    -> GROUP BY `id`,
    ->   `name`
    -> HAVING MIN(score) > 70;

-- 写法2
mysql> SELECT
    ->   `id`,
    ->   `name`
    ->   -- count (id)
    -> FROM
    ->   score_info_table
    -> WHERE score > 70
    -> GROUP BY `id`,
    ->   `name`
    -> HAVING COUNT(id) > 2;

案例6:员工信息表 stu_info_table

现在有一张员工信息表 stu_info_table,这张表包含id、name(姓名)、t_1(一级部门)和 t_2(二级部门)四个字段,stu_info_table 表如下所示:

mysql> SELECT * FROM `stu_info_table`;
+----+--------+------------+----------+
| id | name   | t_1        | t_2      |
+----+--------+------------+----------+
|  1 | 王小凤 | 产品技术部 | B端产品  |
|  2 | 刘诗迪 | 产品技术部 | C端产品  |
|  3 | 李思雨 | 产品技术部 | B端产品  |
|  4 | 张文华 | 销售运营部 | 销售管理 |
|  5 | 张青云 | 销售运营部 | 数据分析 |
|  6 | 徐文杰 | 销售运营部 | 销售管理 |
|  7 | 李智瑞 | 产品技术部 | B端产品  |
|  8 | 徐雨秋 | 销售运营部 | 销售管理 |
|  9 | 孙皓然 | 产品技术部 | B端产品  |
+----+--------+------------+----------+
9 rows in set (0.00 sec)

【练习9】获取该公司一级部门及二级部门的信息,即哪些一级部门下包含哪些二级部门。运行结果如下表所示:
在这里插入图片描述
【解析9】查询一级部门下包含哪些二级部门,可以先对一级部分进行分组,然后使用group_concat函数将分组产生的同一个分组中的值连接起来,返回一个字符串结果。参考代码如下:

mysql> SELECT t_1,GROUP_CONCAT(DISTINCT t_2) AS all_t2 FROM stu_info_table GROUP BY t_1;
-- 删除重复值的操作除了可以用distinct,还可以用group by
-- 获取公司一级部门及二级部门的信息
SELECT DISTINCT t_1,t_2 FROM stu_info_table;
SELECT t_1,t_2 FROM stu_info_table GROUP BY t_1,t_2; 

案例7:行列互换 row_col_table

row_col_table 表如下所示,这张表中每年每月的销量是一行数据。

mysql> SELECT * FROM `row_col_table`;
+----------+-----------+-------+
| year_num | month_num | sales |
+----------+-----------+-------+
|     2019 |         1 |   100 |
|     2019 |         2 |   200 |
|     2019 |         3 |   300 |
|     2019 |         4 |   400 |
|     2020 |         1 |   200 |
|     2020 |         2 |   400 |
|     2020 |         3 |   600 |
|     2020 |         4 |   800 |
+----------+-----------+-------+
8 rows in set (0.00 sec)

【练习10】需要把row_col_table表所示的纵向存储数据的方式改成如下表所示的横向存储数据的方式。
在这里插入图片描述
【解析10】要把纵向数据表转换成横向数据表,首先要把多行的年数据转化为一年是一行,可以通过group by实现,group by一般需要与聚合函数一起使用,现在不需要对所有数据进行聚合,所以我们通过case when来对指定月份的数据进行聚合。参考代码如下:

mysql> SELECT year_num,
    ->     SUM(CASE WHEN month_num = 1 THEN sales ELSE 0 END) AS m1,
    ->     SUM(CASE WHEN month_num = 2 THEN sales ELSE 0 END) AS m2,
    ->     SUM(CASE WHEN month_num = 3 THEN sales ELSE 0 END) AS m3,
    ->     SUM(CASE WHEN month_num = 4 THEN sales ELSE 0 END) AS m4
    -> FROM
    ->     row_col_table
    -> GROUP BY
    ->     year_num;

案例8:多列比较 col_table

现在 col_table 表中有 col_1、col_2、col_3 三列数据,col_table 表如下所示:

mysql> SELECT * FROM `col_table`;
+-------+-------+-------+
| col_1 | col_2 | col_3 |
+-------+-------+-------+
|     5 |    10 |     7 |
|     1 |    10 |     6 |
|     9 |     3 |     5 |
|     5 |     2 |     9 |
|    10 |     4 |     3 |
|     5 |     2 |     9 |
|     5 |     8 |     6 |
|     8 |     8 |     6 |
+-------+-------+-------+
8 rows in set (0.00 sec)

【练习11】根据col_table表中的三列数据生成一列结果列,结果列的生成规则为:如果col_1列大于col_2列,则结果为col_1列的数据;如果col_2列大于col_3列,则结果为col_3列的数据,否则结果为col_2列的数据,运行结果如下表所示:
在这里插入图片描述
【解析11】多列比较其实就是一个多重判断的过程,借助case when即可实现,先判断col_1列和col_2列的关系,然后判断col_2列和col_3列的关系。这里需要注意的是,判断的执行顺序是先执行第一行case when,然后执行第二行case when,参考代码如下:

mysql> SELECT *,
    -> (CASE WHEN col_1 > col_2 THEN col_1
    -> ELSE (CASE WHEN col_2 > col_3 THEN col_3 ELSE col_2 END)
    -> END) AS all_result
    ->  FROM col_table;

案例9:学生成绩表 subject_table

学生成绩表 subject_table 包含id、score(成绩)两个字段,如下所示:

mysql> SELECT * FROM `subject_table`;
+----+-------+
| id | score |
+----+-------+
|  1 |    56 |
|  2 |    91 |
|  3 |    67 |
|  4 |    54 |
|  5 |    56 |
|  6 |    69 |
|  7 |    61 |
|  8 |    83 |
|  9 |    99 |
+----+-------+
9 rows in set (0.00 sec)

【练习12】查询60分以下(不包含60分),60~80分(不包含80分)、80~100分三个成绩段内分别有多少个学生,运行结果如下表所示:
在这里插入图片描述
【解析12】现在想知道每个成绩段内的学生数,需要做的第一件事就是对成绩进行分组,利用的是case when,完成成绩分段以后再对分段结果进行group by,接着在组内计数获得每个成绩段内的学生数,参考代码如下:

mysql> SELECT
    -> (CASE WHEN score < 60 THEN '60分以下(不包含60分)'
    -> WHEN score < 80 THEN '60~80分(不包含80分)'
    -> WHEN score <= 100 THEN '80~100分' END
    -> ) AS score_bin,
    -> COUNT(id) AS stu_cnt
    -> FROM subject_table
    -> GROUP BY
    -> (CASE WHEN score < 60 THEN '60分以下(不包含60分)'
    -> WHEN score < 80 THEN '60~80分(不包含80分)'
    -> WHEN score <= 100 THEN '80~100分' END
    -> );

-- mysql中可以将group by后改写为别名
mysql> SELECT
    -> (CASE WHEN score < 60 THEN '60分以下(不包含60分)'
    -> WHEN score < 80 THEN '60~80分(不包含80分)'
    -> WHEN score <= 100 THEN '80~100分' END
    -> ) AS score_bin,
    -> COUNT(id) AS stu_cnt
    -> FROM subject_table
    -> GROUP BY score_bin;

案例10:学生科目表 course_table

现在有一张学生科目表 course_table,这张表存储了id、name(姓名)、grade(年级)和 course(选修课程)四个字段,course_table 如下表所示:

mysql> SELECT * FROM `course_table`;
+----+----------+--------+----------+
| id | name     | grade  | course   |
+----+----------+--------+----------+
|  1 | 王小凤   | 一年级 | 心理学   |
|  2 | 刘诗迪   | 二年级 | 心理学   |
|  3 | 李思雨   | 三年级 | 社会学   |
|  4 | 张文华   | 一年级 | 心理学   |
|  5 | 张青云   | 二年级 | 心理学   |
|  6 | 徐文杰   | 三年级 | 计算机   |
|  7 | 李智瑞   | 一年级 | 心理学   |
|  8 | 徐雨秋   | 二年级 | 计算机   |
|  9 | 孙皓然   | 三年级 | 社会学   |
| 10 | 李春山   | 一年级 | 社会学   |
| 11 | 李易峰   | 一年级 | 会计学   |
| 12 | 张杰     | 一年级 | 会计学   |
| 13 | 何灵     | 一年级 | 管理学   |
| 14 | 蔡徐坤   | 一年级 | 管理学   |
| 15 | 赵丽颖   | 一年级 | 人工智能 |
| 16 | 章子怡   | 一年级 | 人工智能 |
| 17 | 古力娜扎 | 一年级 | 人工智能 |
| 18 | 刘诗诗   | 一年级 | 人工智能 |
| 19 | 迪丽热巴 | 一年级 | 人工智能 |
| 20 | 陈都灵   | 三年级 | 人工智能 |
| 21 | 范冰冰   | 三年级 | 人工智能 |
| 22 | 杨颖     | 三年级 | 人工智能 |
| 23 | 安以轩   | 三年级 | 人工智能 |
| 24 | 刘亦菲   | 三年级 | 管理学   |
| 25 | 关晓彤   | 二年级 | 会计学   |
| 26 | 景田     | 二年级 | 会计学   |
| 27 | 江疏影   | 二年级 | 会计学   |
| 28 | 佟丽娜   | 二年级 | 会计学   |
| 29 | 王楚然   | 二年级 | 会计学   |
| 30 | 柳岩     | 二年级 | 人工智能 |
| 31 | 张钧甯   | 二年级 | 人工智能 |
| 32 | 林允儿   | 二年级 | 人工智能 |
| 33 | 孙怡     | 二年级 | 人工智能 |
| 34 | 窦骁     | 四年级 | 哲学     |
| 35 | 陈伟霆   | 四年级 | 哲学     |
| 36 | 鹿晗     | 四年级 | 哲学     |
| 37 | 黄子韬   | 四年级 | 哲学     |
| 38 | 杨洋     | 四年级 | 哲学     |
| 39 | 易烊千玺 | 四年级 | 哲学     |
| 40 | 肖战     | 四年级 | 哲学     |
| 41 | 周杰伦   | 四年级 | 哲学     |
| 42 | 胡歌     | 四年级 | 哲学     |
| 43 | 陈晓     | 四年级 | 哲学     |
| 44 | 靳东     | 四年级 | 哲学     |
| 45 | 薛之谦   | 四年级 | 哲学     |
| 46 | 任嘉伦   | 四年级 | 哲学     |
+----+----------+--------+----------+
46 rows in set (0.00 sec)

【练习13】筛选最受欢迎的课程,运行结果如下图所示:
在这里插入图片描述
【解析13】需要把选择人数最多的对应的最值算出来,这里利用子查询来生成,最后利用having对分组后的结果进行筛选,从而得到最受欢迎的课程,参考代码如下:

mysql> SELECT course, COUNT(id) AS stu_num FROM course_table GROUP BY course
    -> HAVING COUNT(id) = (SELECT MAX(stu_num) FROM (SELECT course, COUNT(id) AS stu_num FROM course_table GROUP BY course) a);

【练习14】筛选出每个年级最受欢迎的三门课程,运行结果如下图所示:
在这里插入图片描述
【解析14】典型组内排名问题,对于这个问题可以利用窗口函数来实现,先生成每门课程的报名人数,然后利用rank()函数生成每个年级内每门课程的排序结果,最后通过排序结果筛选出我们所需要的数据,参考代码如下:

mysql> SELECT * FROM (SELECT *,RANK() OVER(PARTITION BY grade ORDER BY a.stu_num DESC) AS course_rank FROM
    -> (SELECT grade,course,COUNT(id) AS stu_num FROM course_table GROUP BY grade,course) a) AS b WHERE b.course_rank<4;

至此今天的学习就到此结束了,笔者在这里声明,笔者写文章只是为了学习交流,以及让更多学习数据库的读者少走一些弯路,节省时间,并不用做其他用途,如有侵权,联系博主删除即可。感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!


在这里插入图片描述

    好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
    如果我的博客对你有帮助、如果你喜欢我的博客内容,请 点赞评论收藏 一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
 编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了 关注 我哦!

### 回答1: Python数据分析实例源码是一些帮助数据科学家、工程师和数据分析师在Python平台上进行数据分析的代码示例。这些示例代码可以帮助数据分析人员快速理解和掌握Python数据分析的基本原理和技能。 这些源码示例可以涵盖从数据清洗、可视化、机器学习到人工智能等领域的数据分析问题,例如: 1. 数据清洗:包括数据预处理、数据格式化、数据过滤等等,比如清洗数据、去除错误的数据等。 2. 数据可视化: 包括各种类型的图表和地图展示,比如条形图、饼图和地图可视化等。 3. 机器学习:在Python 中使用机器学习模型进行预测和分类,比如逻辑回归、朴素贝叶斯分类器和决策树等。 4. 深度学习:使用深度学习技术处理大量的数据,比如使用神经网络进行图像识别、自然语言处理和语音识别等任务。 总之,Python数据分析实例源码可以帮助学习Python的数据科学家更快速地进行数据分析和应用,促进了Python在数据分析领域的广泛应用。 ### 回答2: Python数据分析实例源码提供了丰富的数据分析案例及源代码,并可以通过学习这些实例更好地理解Python在数据分析领域的应用。这些实例涉及到的领域包括数据预处理、数据可视化及机器学习等,并可以帮助您更好地处理和分析数据。 其中包括常用的数据处理和分析库,如Pandas和Numpy,它们可以帮助您处理和操作数据集。同时也包括了可视化库,如Matplotlib和Seaborn。这些库可以帮助您更好地理解数据集的分布和相关性,以便更好地进行数据探索和分析。 Python数据分析实例源码还包括一些机器学习相关的案例,如监督学习、无监督学习、深度学习等。它们可以帮助您了解如何使用Python在机器学习领域应用最新技术。 通过Python数据分析实例源码的学习,您可以更好地了解Python在数据分析领域的应用,并且可以通过实例代码更加深入的理解Python的使用方法。这些实例不仅可以帮助您在处理数据时更加得心应手,还可以帮助您在解决实际问题时更加有效地使用Python。 ### 回答3: Python数据分析实例源码是指用Python编写的代码,用于解决数据分析中的问题或实现数据分析算法。这类源码通常包括数据读取、数据预处理、数据分析和可视化等功能,在实现数据分析的整个过程中发挥着重要的作用。 对于数据读取和预处理,Python提供了强大的Pandas库来处理常见的数据类型,例如CSV格式、Excel格式、JSON格式等,并且Pandas库支持基本的数据清洗、处理缺失值、数据变换等功能。而对于数据分析和可视化,Python则提供了Numpy、Matplotlib、Seaborn等库,这些库可以帮助我们进行统计分析和数据可视化,并且具有很高的灵活性和扩展性,可以满足不同场景下的数据分析需求。 以一个简单的数据分析实例为例,给定一份学生成绩的CSV文件,我们希望分析每个学生各科成绩的平均分、标准差等统计指标,并且绘制出每个学生的成绩分布图。以下是Python数据分析实例的源码: ```python import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 读取数据 df = pd.read_csv('scores.csv') # 计算各科平均分和标准差 df['mean'] = df.mean(axis=1) df['std'] = df.std(axis=1) # 绘制成绩分布图 for col in df.columns[:-2]: sns.displot(df, x=col, hue='name', kind='kde') plt.title('Distribution of %s' % col) plt.savefig('%s.png' % col, dpi=300) plt.show() ``` 该源码中,我们首先使用Pandas的read_csv函数读取CSV文件,并对数据进行预处理,计算各科平均分和标准差,并将计算结果保存在DataFrame中。然后,我们使用Seaborn库绘制出各科成绩的分布图,并通过循环批量保存成绩分布图像。最后,我们通过Matplotlib库展示图像。 总之,Python数据分析实例源码对于从事数据分析工作的人来说是非常重要的工具之一,可以帮助分析师更高效更快捷地解决实际问题。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Amo Xiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值