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

2023-11-05

案例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;

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


在这里插入图片描述

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二十二、SQL 数据分析实战(案例1~案例10) 的相关文章

  • 使用 Flot、html、PHP 和 MySql 查询绘制多个图表

    我正在尝试使用 Flot html PHP 和 MySql 查询绘制多个图表 但我陷入了困境 因为我找不到在同一个 html 页面中绘制多个 flot 的方法 为简单起见 在数据库 test db3 映像中包含以下字段 表1 用户名 发送邮
  • 重置 MySQL root 密码不起作用

    我花了很多时间阅读并尝试了数十种重置 root 密码的方法 但我一无所获 我发现 并尝试过 的最完整的说明如下 顺便说一句 我在 Win7 32 位上运行 MySQL 5 5 我创建了一个文件 c mysqlinit txt 其中包含两行
  • Magento 设置脚本中的 ALTER TABLE 不使用 SQL

    乔纳森 戴 https stackoverflow com users 336905 jonathan day says 更新不应采用以下形式 SQL命令 我没遇到过 任何 DDL 或 DML 语句不能 通过 Magento 的配置执行 结
  • 如何使用第二行中的值填充第一行中的空值?

    我正在尝试编写一个查询 仅显示每个名称的第一行 但这些行的标题为空 因此我想从紧邻的下一行中提取它们的标题 table1 Name Title Row Dan NULL 1 Dan Engineer 2 Dan Developer 3 Ja
  • MYSQL 的 Google OAuth 2.0 用户 ID 数据类型

    我正在实施 Google OAuth 2 0 并注意到 Google OAuth 返回的唯一用户 ID 是21位数字长的 我想大整数 20 足以满足这种需求 但我现在看到 Google OAuth 返回的用户 ID 的长度感到困惑 关于我应
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam
  • SQL 约束最小值/最大值?

    有没有办法为数字字段设置 SQL 约束 最小值应为 1234 最大值应为 4523 SQL Server 语法为the check约束 http technet microsoft com en us library ms179491 as
  • 通过 SQLAlchemy 获取随机行

    如何使用 SQLAlchemy 从表中选择一个或多个随机行 这在很大程度上是一个特定于数据库的问题 我知道 PostgreSQL SQLite MySQL 和 Oracle 具有通过随机函数排序的能力 因此您可以在 SQLAlchemy 中
  • SQLAlchemy - 批量插入忽略:“重复条目”

    我有一个名为user data 列id and user id作为唯一的密钥 我想将一些历史数据导入到该表中 我用批量插入映射 http docs sqlalchemy org en rel 1 0 orm session api html
  • SQL UPDATE 语句根据另一个现有行更新列

    基本上我有一个与下表具有相似格式的表格 我想做的是根据这个逻辑更新 Col4 如果 Col2 为空 则用 Col3 更新 Col4 如果 Col2 不为 null 则在 Col1 中查找与 Col2 中的值匹配的值 使用 col3 中的相应
  • 使用条件 SQL 统计每月汇总记录

    我有一张桌子 我们就叫他们桌子吧SUMMARYDATA NIP NAME DEPARTMENT STATUSIN STATUSOUT TOTALLOSTTIME A1 ARIA BB 2020 01 21 08 06 23 2020 01
  • 删除表的重复项

    In my activity logs 它包含列 material name user id mod result 这标志着测试是否通过 失败 cert links 不知何故 用户生成了两倍的条目material name与cert lin
  • 如何将 mysql 转换为 mysqli? [复制]

    这个问题在这里已经有答案了 我厌倦了将 mysql 转换为 mysqli 但似乎收到了很多错误和警告 连接到数据库没有问题 但其余代码似乎错误 我做错了什么 sql
  • 是否可以将新表和旧表从触发器传递到 MySQL 中的过程中?

    是否可以将新表和旧表从触发器传递到 MySQL 中的过程中 我怀疑不会 因为没有过程接受的表这样的数据类型 有什么可能的解决方法吗 理想情况下它看起来像这样 CREATE TRIGGER Product log AFTER UPDATE O
  • TSQL - 生成文字浮点值

    我理解比较浮点数时遇到的许多问题 并对它们在这种情况下的使用感到遗憾 但我不是表格作者 只有一个小障碍需要克服 有人决定使用浮点数 就像您期望使用 GUID 一样 我需要检索具有特定浮点值的所有记录 sp help MyTable Colu
  • 如何连续添加起始行和下一行的值

    我只想创建一个 sql 查询 结果就像图片上的那样 类似于 SQL 中的斐波那契数列 Ex Column 1 10 则 Result 列的值为 Result 10 因为这是第一行 然后假设column1第二行的值为50 那么Result第二
  • 没有为 1 个或多个必需参数给出值。更新SQL

    我正在编写一个程序 当用户在列表视图上选择记录时 该程序会更新密码或积分 我收到错误 没有为 1 个或多个必需参数给出值 我不知道如何纠正 我是否遗漏了一些明显的东西 Dim sql As String UPDATE Users SET P
  • 尝试在 React 应用程序中连接到 MySQL 数据库时,无法读取未定义的属性(读取“查询”)错误

    我正在尝试连接到 MySQL 数据库并在单击按钮后在 React 应用程序中运行查询 一些它如何给出错误 我当前的代码如下所示 import mysql from mysql function App async function sync
  • MySQL - 选择一行 - 然后相对于所选行的下一个和上一个

    我会尽力澄清这一点 我需要在不使用 id 的情况下选择特定行和该选定行的前一个相对行以及该选定行的下一个相对行 这可能吗 简而言之 上一篇和下一篇 我不能 也许我只是不知道如何 使用 id 的原因是因为它们不是按顺序排列的 正如您从这个相当
  • Hibernate + MySQL + rewriteBatchedStatements=true

    我有以下 Hibernate 配置

随机推荐

  • 信号集(未决信号集,阻塞信号集)

    未决信号集和阻塞信号集的关系 阻塞信号集是当前进程要阻塞的信号的集合 未决信号集是当前进程中还处于未决状态的信号的集合 这两个集合存储在内核的PCB中 下面以SIGINT为例说明信号未决信号集和阻塞信号集的关系 当进程收到一个SIGINT信
  • 《从零开始编写一个直播服务器》 C++ 实现一个最简单的RTSP流媒体服务器

    流媒体开发系列文章 文章目录 流媒体开发系列文章 前言 一 rtsp流是什么 二 使用步骤 1 服务器代码 总结 前言 在安防行业中 onvif协议与gb协议是两种标准 gb是国内安防行业的标准 onvif是国外的安防行业的标准 其中gb2
  • 【华为OD机试】数字游戏【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 小明玩一个游戏 系统发1 n张牌 每张牌上有一个整数 第一张给小明 后n张按照发牌顺序排成连续的一行 需要小明判断 后n张牌中 是否存在连续的若干张牌 其和可以整除小
  • Heroku 部署有关 opencv 的 Django 后端应用(pdf2docx)

    文章目录 场景 解决方案 Aptfile Buildpacks Dashboard 上手动构建 Heroku CLI 终端构建 Requirements txt 提交改变 场景 我使用 heroku 部署了一个 Django 后端项目 里面
  • C/C++内存布局

    下图是c c 的进程的内存分布布局图 搞清楚内存布局对于理解一个程序是非常重要的 一个程序运行起来 操作系统会给每个进程分配一个 4G 的程序地址空间 当然这都是虚拟地址空间 因为如果一个进程分 4G 的内存 那么就算有再多的内存也不够分
  • windows下的另一个辅助工具Devcon.exe(用会了绝对是神器)

    Device Console Help devcon exe r m
  • Unity3D关于iTween回调函数

    ITween一共三个回调函数 onstart onupdate和oncomplete 顾名思义可以从名字中看出来 常用到最后一个 要是我以后项目中用到了前两个函数 我会把例子添加上 关于oncomplete 就是在itween移动完成以后所
  • Spring Data Jpa

    spring data介绍 Spring Data s mission is to provide a familiar and consistent Spring based programming model for data acce
  • 单元测试、集成测试、系统测试

  • 串口通信——发送和接收数据(8位和16位数据之间的转换)

    1 实验目的 1 发送两个字节数据 就是16位的数据 每一次发送8位 发送两次 这里要进行数据的拆分 如发送一个0XFF56 接收得到的也是FF56 16进制显示 2 接收两个字节的数据 这里通过串口助手以16进制发送一个数据 将拼接的数据
  • winMain函数

    WinMain函数 int WINAPI WinMain HINSTANCE hInstance HINSTANCE hPrevInstance LPSTR lpCmdLine int nShowCmd 函数名 WinMain 返回值 in
  • QT界面工程导出成dll并在其他界面工程调用示例

    一 首先是生成dll 1 新建一个qt工程 2 在 pro文件做如下修改 TARGET qtdll TEMPLATE app DEFINES dllMainWindow LIBRARY TEMPLATE lib 其中qtdll 是自己dll
  • C#中Dictionary的用法总结

    可以实现通过键值查找 插入 删除一个键 值对的操作 这些如果用数组实现都非常麻烦 Key就是键 value就是值 我们在很多地方都会用到字典 他的特点就是查找很快 当然比List快 字典必须包含名空间System Collection Ge
  • pandas写入excel指定行_使用pandas操作excel

    pandas操作excel 最近由于要处理一些excel表格 发现pandas可以免去很多的繁琐的人工劳动 在这里记录一下我所用到的知识 导入文档 将excel中的工作表导入 filename xls data pd read excel
  • python中random.random()用法

    Python中的random模块用于生成随机数 下面介绍一下random模块中最常用的几个函数 random random random random 用于生成一个0到1的随机符点数 0 lt n lt 1 0 参考链接 https www
  • 拓扑布局和建立小型网络

    练习 2 6 1 拓扑布局和建立小型网络 地址表 本实验不包括地址表 拓扑图 学习目标 正确识别网络中使用的电缆 物理连接点对点交换网络 验证每个网络的基本连通性 简介 许多网络问题都可以在网络的物理层解决 因此 必须清楚了解网络连接使用哪
  • Android ffmpeg4.1 arm64位库裁剪

    ffmpeg4 1 Android arm64位库裁剪移植 目录 ffmpeg4 1 Android arm64位库裁剪移植 1 绪言 2 编译环境 3 源代码下载 4 编写编译脚本 4 1 编译脚本 4 2 常见问题 5 库裁剪 5 1
  • 使用vscode把代码或文件夹上传进gitee库里

    1 首先读者自行下载 git 2 在gitee中新建一个仓库 3 建完仓库后会出现以下界面 4 复制图中1 选择你个你想要的文件夹 右键选择 5 之后会跳出来一个小框框 把图中2和3分别复制进小框框里 ctrl v没用 右键选择Paste
  • CObject/CCmdTarget/CCmdTarget三个类的能力

    三个类的能力分别为 CObject 运行时类型识别 RTTI 动态创建 Dynamic Creation 文件读写 Serialization CCmdTarget 消息机制 拥有DECLARE MESSAGE MAP宏 从而可以接收WM
  • 二十二、SQL 数据分析实战(案例1~案例10)

    文章目录 案例1 用户信息表 stu table 案例2 员工绩效表 score table 案例3 销售冠军信息表 month table 案例4 月销售额记录表 sale table 案例5 每季度员工绩效得分表 score info