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

MySQL基础(三)聚合函数、子查询

目录

聚合函数

AVG/SUM/MAX/MIN

 COUNT函数

GROUP BY

HAVING

having和where的区别

 SELECT的执行过程

子查询

 单行子查询vs多行子查询

单行子查询 

 多行子查询

 关联子查询

EXISTS 与 NOT EXISTS关键字


聚合函数

聚合函数作用于一组数据,并对一组数据返回一个值

AVG/SUM/MAX/MIN

分别是平均值、求和、最大最小值

SELECT AVG(salary),SUM(salary),MAX(salary),MIN(salary)
FROM employees

 COUNT函数

COUNT(*)返回表中记录总数,适用于任意数据类型。

SELECT COUNT(salary),COUNT(*),COUNT(1)
FROM employees

这三种方法都能得到记录的个数,但是用 COUNT(字段名) 时,如果字段中有NULL存在,则在函数中会自己省略

其实,对于MyISAM引擎的表是没有区别的。这种引擎内部有一计数器在维护着行数。
Innodb引擎的表用count(*),count(1)直接读行数,复杂度是O(n),因为innodb真的要去数一遍。但好于具体的count(列名)

GROUP BY

分组,根据部门计算薪水平均值:

SELECT avg(salary),department_id
from employees
group by department_id

多列分组

department_id和job_id都相同的分为一组

SELECT avg(salary),department_id,job_id
from employees
group by department_id,job_id

注意!!

SELECT中出现的非组函数的字段必须声明在GROUP BY中

例如下面的写法就是错误的,分组之后,每一个department_id会有一个AVG(salary)值,但是无法确定对应哪个job_id值

SELECT avg(salary),department_id,job_id
from employees
group by department_id

with rollup ,加上这个之后会把所有数据当成一组进行计算

SELECT AVG(salary),department_id
FROM employees
GROUP BY department_id WITH ROLLUP

HAVING

过滤分组:HAVING子句
1. 行已经被分组。
2. 使用了聚合函数。
3. 满足HAVING 子句中条件的分组将被显示。
4. HAVING 不能单独使用,必须要跟 GROUP BY 一起使用,且声明在其后面

  例如,查询各个部门中最高工资比10000高的部门信息,很自然会想到

SELECT max(salary),department_id
from employees
where max(salary)>10000
group by department_id 

但是由于在执行 where的时候尚未分组,所以报错

应该:

SELECT max(salary),department_id
from employees
group by department_id 
having max(salary)>10000

having和where的区别

这里通过一个例子说明having和where的区别,查询10,20,30,40 四个部门中最高工资比10000高的部门信息,有两中方法:

SELECT MAX(salary),department_id
FROM employees
WHERE department_id IN (10,20,30,40)
GROUP BY department_id 
HAVING MAX(salary)>10000
SELECT MAX(salary),department_id
FROM employees
GROUP BY department_id 
HAVING MAX(salary)>10000 AND department_id IN (10,20,30,40)

结论是第一种效率更高

区别1:WHERE 可以直接使用表中的字段作为筛选条件,但不能使用分组中的计算函数作为筛选条件;HAVING 必须要与 GROUP BY 配合使用,可以把分组计算的函数和分组字段作为筛选条件。

这决定了,在需要对数据进行分组统计的时候,HAVING 可以完成 WHERE 不能完成的任务。这是因为,在查询语法结构中,WHERE 在 GROUP BY 之前,所以无法对分组结果进行筛选。HAVING 在 GROUP BY 之后,可以使用分组字段和分组中的计算函数,对分组的结果集进行筛选,这个功能是 WHERE 无法完成的。另外,WHERE排除的记录不再包括在分组中。
区别2:如果需要通过连接从关联表中获取需要的数据,WHERE 是先筛选后连接,而 HAVING 是先连接后筛选。

这一点,就决定了在关联查询中,WHERE 比 HAVING 更高效。因为 WHERE 可以先筛选,用一个筛选后的较小数据集和关联表进行连接,这样占用的资源比较少,执行效率也比较高。HAVING 则需要先把结果集准备好,也就是用未被筛选的数据集进行关联,然后对这个大的数据集进行筛选,这样占用的资源就比较多,执行效率也较低。

 

 SELECT的执行过程

结构:

#方式1:
SELECT ...,....,...
FROM ...,...,....
WHERE 多表的连接条件
AND 不包含组函数的过滤条件
GROUP BY ...,...
HAVING 包含组函数的过滤条件
ORDER BY ... ASC/DESC
LIMIT ...,...#方式2:
SELECT ...,....,...
FROM ... JOIN ... 
ON 多表的连接条件
JOIN ...
ON ...
WHERE 不包含组函数的过滤条件
AND/OR 不包含组函数的过滤条件
GROUP BY ...,...
HAVING 包含组函数的过滤条件
ORDER BY ... ASC/DESC
LIMIT ...,...#其中:
#(1)from:从哪些表中筛选
#(2)on:关联多表查询时,去除笛卡尔积
#(3)where:从表中筛选的条件
#(4)group by:分组依据
#(5)having:在统计结果中再次筛选
#(6)order by:排序
#(7)limit:分页

关键字的顺序是不能颠倒的

SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT...

执行顺序 

FROM -> ON ->(LEFT/RIGHT JOIN -> WHERE -> GROUP BY-> HAVING -> SELECT 的字段 -> DISTINCT -> ORDER BY -> LIMIT

子查询

通过一个例子引入子查询的使用场景:查询工资比Abel高的人的名字和工资

方式一,利用自连接:

SELECT e1.last_name,e1.salary
FROM employees e1,employees e2
WHERE e1.salary >e2.salary AND e2.last_name = 'Abel'  

方式二,利用子查询

SELECT last_name salary
FROM employees
WHERE salary >(SELECT salaryFROM employeesWHERE last_name = 'Abel'
)
  • 子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。
  • SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,也可能是某个集合)进行比较。

子查询(内查询)在主查询之前一次执行完成。
子查询的结果被主查询(外查询)使用 。
注意事项

  • 子查询要包含在括号内
  • 将子查询放在比较条件的右侧
  • 单行操作符对应单行子查询,多行操作符对应多行子查

 单行子查询vs多行子查询

们按内查询的结果返回一条还是多条记录,将子查询分为单行子查询 多行子查询 

单行子查询 

单行子查询就是子查询结果是一行数据

单行子查询操作符

上面说的子查询的例子就是一个单行子查询,这里再补充一个例子:

查询与141号员工的manager_id 和 department_id 相同的其他员工,这里可以用()将两个数值看出一个整体 

select employee_id,manager_id,department_id
from employees
where (manager_id,department_id) = (select manager_id,department_idfrom employeeswhere employee_id=141
)
and employee_id <> 141

HAVING中的子查询

查询最低工资大于50号部门最低工资的部门id和其最低工资

select department_id,min(salary)
from employees
group by department_id
having min(salary)>(select min(salary)from employeesgroup by department_idhaving department_id = 50
)

 多行子查询

  • 也称为集合比较子查询
  • 内查询返回多行
  • 使用多行比较操作符

多行比较操作符

 举例

1、查询每个部门中最低工资的那个人

select last_name,salary,department_id
from employees
where salary in (select min(salary)from employeesgroup by department_id
)

2、返回其它job_id中比job_id为‘IT_PROG’部门任一工资低的员工的员工号、姓名、job_id 以及salary

SELECT employee_id,last_name,job_id,salary
FROM employees
WHERE salary<ANY (SELECT salaryFROM employeesWHERE job_id ='IT_PROG')
AND job_id <> 'IT_PROG'

3、返回其它job_id中比job_id为‘IT_PROG’部门所有工资低的员工的员工号、姓名、job_id 以及salary

SELECT employee_id,last_name,job_id,salary
FROM employees
WHERE salary<ALL (SELECT salaryFROM employeesWHERE job_id ='IT_PROG')
AND job_id <> 'IT_PROG'

4、查询平均工资最低的部门号(重要)

首先求平均工资:

			SELECT AVG(salary) avg_salFROM employeesGROUP BY department_id

求最低工资,很自然想到:

			SELECT MIN(AVG(salary)) avg_salFROM employeesGROUP BY department_id

但是报错了,不能嵌套函数,那么可以将平均工资表当成一个新的表选择:

		SELECT MIN(avg_sal)FROM(SELECT AVG(salary) avg_salFROM employeesGROUP BY department_id)

又报错:Every derived table must have its own alias  派生表必须有别名

所以:

SELECT department_id,AVG(salary) avg_salary
FROM employees
GROUP BY department_id
HAVING avg_salary = (SELECT MIN(avg_sal)FROM(SELECT AVG(salary) avg_salFROM employeesGROUP BY department_id) avg_salary_tb
)

当然也可以不求最小平均工资

SELECT department_id,AVG(salary) avg_salary
FROM employees
GROUP BY department_id
HAVING avg_salary <= ALL(SELECT AVG(salary) avg_salFROM employeesGROUP BY department_id
)

 关联子查询

  • 非关联子查询是,先计算子查询,然后主查询使用子查询的结果
  • 关联子查询是,先计算主查询,将主查询的一些参数传到子查询中。
  • 如果子查询的执行依赖于外部查询,通常情况下都是因为子查询中的表用到了外部的表,并进行了条件 关联,因此每执行一次外部查询,子查询都要重新计算一次,这样的子查询就称之为 关联子查询 。 相关子查询按照一行接一行的顺序执行,主查询的每一行都执行一次子查询。

举例:

1、查询员工工资中大于本部门平均工资的员工信息

SELECT last_name,salary
FROM employees e1
WHERE salary >(SELECT AVG(salary) avg_salFROM employees e2GROUP BY department_idHAVING e2.department_id = e1.department_id
)

这个例子也有另外一种方法,不使用关联子查询,先将平均工资表算出来当成新表,再比较

SELECT e1.last_name,e1.salary
FROM 	employees e1,	(SELECT department_id,AVG(salary) avg_salFROM employees e2GROUP BY department_id)e2
WHERE e1.department_id = e2.department_id AND e1.salary>e2.avg_sal

2、若employees表中employee_id与job_history表中employee_id相同的数目不小于2,输出这些相同 id的员工的employee_id,last_name和其job_id (难)

job_history 表长这样:

 也就是筛选那些换职位两次及两次以上的人,具体来说就是101 、176和200

SELECT employee_id,last_name,job_id
FROM employees e1
WHERE 2<=(SELECT COUNT(j.employee_id)FROM job_history jWHERE j.employee_id = e1.employee_id		
)

这里查询相当于是一行一行执行的,查询到某一行时,将e1.employee_id导入到子查询,如果满足条件再输出

EXISTS 与 NOT EXISTS关键字

  • 关联子查询通常也会和 EXISTS操作符一起来使用,用来检查在子查询中是否存在满足条件的行。
  • 如果在子查询中不存在满足条件的行: 条件返回 FALSE 继续在子查询中查找
  • 如果在子查询中存在满足条件的行: 不在子查询中继续查找 条件返回 TRUE
  • NOT EXISTS关键字表示如果不存在某种条件,则返回TRUE,否则返回FALSE。

 案例

1、查询公司管理者的employee_id,last_name,job_id,department_id信息

 方式1:

SELECT e1.last_name
FROM employees e1
WHERE e1.employee_id IN (SELECT e2.manager_idFROM employees e2
) 

方式2:

SELECT e1.last_name
FROM employees e1
WHERE EXISTS(SELECT *FROM employees e2WHERE e1.employee_id = e2.manager_id
)

这个相当与两层循环,先再e1里面循环,获取每个employee_id,然后再e2循环,查看是否满足 e1.employee_id = e2.manager_id,如果有就break,没有就继续循环。复杂度是O2

2、查询departments表中,不存在于employees表中的部门的department_id和department_name

方式1:

SELECT d.department_id,d.department_name
FROM departments d LEFT JOIN employees e
ON d.department_id = e.department_id
WHERE e.department_id IS NULL

这里采用了右外连接 ,具体参见MySQL基础(二)排序与分页、多表查询、单行函数_独憩的博客-CSDN博客

方式2 

SELECT department_id,department_name
FROM departments d
WHERE NOT EXISTS(SELECT *FROM employees eWHERE d.department_id = e.department_id
)

提供一些练习题

相关文章:

MySQL基础(三)聚合函数、子查询

目录 聚合函数 AVG/SUM/MAX/MIN COUNT函数 GROUP BY HAVING having和where的区别 SELECT的执行过程 子查询 单行子查询vs多行子查询 单行子查询 多行子查询 关联子查询 EXISTS 与 NOT EXISTS关键字 聚合函数 聚合函数作用于一组数据&#xff0c;并对一组数据返回一个…...

深度学习数据集处理基础内容——xml和json文件详解

文章目录一、xml文件1.1 什么是 XML&#xff1f;1.2XML 和 HTML 之间的差异1.3XML 不会做任何事情1.4通过 XML 您可以发明自己的标签1.5XML 不是对 HTML 的替代1.6XML 无所不在二、json文件基本的JSON结构体类型&#xff08;共享部分&#xff09;三、转COCO数据集3.1 info3.2 l…...

蓝桥杯基础技能训练

51单片机系统浓缩图 1. HC138译码器 用3个输入引脚&#xff0c;实现8个输出引脚&#xff0c;而且这个八个输出引脚中只要一个低电平&#xff0c;所以我们只需要记住真值表就行 #include "reg52.h" sbit HC138_A P2^5; sbit HC138_B P2^6; sbit HC…...

【Kubernetes】第二十八篇 - 实现自动构建部署

一&#xff0c;前言 上一篇&#xff0c;介绍了 Deployment、Service 的创建&#xff0c;完成了前端项目的构建部署&#xff1b; 希望实现&#xff1a;推送代码 -> 自动构建部署-> k8s 滚动更新&#xff1b; 本篇&#xff0c;实现自动构建部署 二&#xff0c;推送触发构…...

蓝桥杯刷题第十天

第一题&#xff1a;裁纸刀问题描述本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。小蓝有一个裁纸刀&#xff0c;每次可以将一张纸沿一条直线裁成两半。小蓝用一张纸打印出两行三列共 6 个二维码&#xff0c;至少使用九次裁出来…...

网络安全缓冲区溢出与僵尸网络答题分析

一、缓冲区溢出攻击 缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量&#xff0c;溢出的数据覆盖在合法数据上。理想的情况是&#xff1a;程序会检查数据长度&#xff0c;而且并不允许输入超过缓冲区长度的字符。但是绝大多数程序都会假设数据长度总是…...

机器学习:逻辑回归模型算法原理(附案例实战)

机器学习&#xff1a;逻辑回归模型算法原理 作者&#xff1a;AOAIYI 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;AOAIYI首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可以点赞&#x1f44d;收藏&#x…...

IO流之 File 类和字节流

文章目录一、File 类1. 概述2. 创建功能3. 删除功能4. 判断和获取功能5. 递归策略5.1 递归求阶乘5.2 遍历目录二、字节流1. IO 流概述2. 字节流写数据2.1 三种方式2.2 换行及追加2.3 加异常处理3. 字节流读数据3.1 一次读一个字节3.2 一次读一个字节数组3.3 复制文本文件3.4 复…...

【华为机试真题 Python实现】2023年1、2月高频机试题

文章目录2023年1季度最新机试题机考注意事项1. 建议提前刷题2. 关于考试设备3. 关于语言环境3.1. 编译器信息3.2. ACM 模式使用sys使用input&#xff08;推荐&#xff09;3. 关于题目分值及得分计算方式4. 关于做题流程5. 关于作弊2023年1季度最新机试题 两个专栏现在有200博文…...

【拳打蓝桥杯】最基础的数组你真的掌握了吗?

文章目录一&#xff1a;数组理论基础二&#xff1a;数组这种数据结构的优点和缺点是什么&#xff1f;三&#xff1a;数组是如何实现随机访问的呢&#xff1f;四&#xff1a;低效的“插入”和“删除”原因在哪里&#xff1f;五&#xff1a;实战解题1. 移除元素暴力解法双指针法2…...

断崖式难度的春招,可以get这些点

前言 大家好&#xff0c;我是bigsai&#xff0c;好久不见&#xff0c;甚是想念。 开学就等评审结果&#xff0c;还好擦边过了&#xff0c;上周答辩完整理材料&#xff0c;还好都过了(终于可以顺利毕业了)&#xff0c;然后后面就是一直安享学生时代的晚年。 最近金三银四黄金…...

一年经验年初被裁面试1月有余无果,还遭前阿里面试官狂问八股,人麻了

最近接到一粉丝投稿&#xff1a;年初被裁员&#xff0c;在家躺平了6个月&#xff0c;然后想着学习下再去面试&#xff0c;现在面试了1个月有余&#xff0c;无果&#xff0c;天天打游戏到半夜&#xff0c;根本无法静下心来学习。下面是他这些天面试经常会被问到的一些问题&#…...

我从功能测试到python接口自动化测试涨到22k,谁知道我经历了什么......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 常见的接口&#xf…...

SDG,ADAM,LookAhead,Lion等优化器的对比介绍

本文将介绍了最先进的深度学习优化方法&#xff0c;帮助神经网络训练得更快&#xff0c;表现得更好。有很多个不同形式的优化器&#xff0c;这里我们只找最基础、最常用、最有效和最新的来介绍。 优化器 首先&#xff0c;让我们定义优化。当我们训练我们的模型以使其表现更好…...

【项目实现典型案例】12.数据库数据类型不一致导致查询慢

目录一&#xff1a;背景介绍二&#xff1a;索引失效复现四&#xff1a;索引实现的六种情况1、类型转换&#xff0c;函数2、ISNULL3、通配符开头4、范围查询5、组合索引&#xff0c;不符合最左匹配原则6、WHERE子句中的OR四&#xff1a;总结一&#xff1a;背景介绍 MySql数据库…...

【大数据开发】报错汇总

目录 Hadoop Attempting to operate on hdfs namenode as root jps后没有namenode Hive Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V Caused by:o…...

HTTPS的加密原理(工作机制)

现在很多网站使用的都是HTTPS协议,比如CSDN他们为什么要使用HTTPS协议而不是继续使用HTTP协议呢?以及HTTPS都做了些什么?HTTP协议与HTTPS有哪些区别? 下面我来 讲解这些问题?(篇幅可能有些长,请求耐心观看,我以0基础的角度去讲解这些东西, 如果你有一定的基础前面的跳过就好…...

Git仓库迁移

背景 由于公司原来的gitee地址需要改完新的gitlab仓库&#xff0c;大量的服务模块已再本地进行开发&#xff0c;且存在大量分支进行维护&#xff0c;迁移要求历史提交记录也得同步&#xff0c;需要简单快捷一并完成各服务已经分支迁移。 一、在新的目标git中创建新代码仓 新…...

用CHATGPT生成C++面试题及答案

以下是C的面试题及其答案&#xff1a; 什么是C&#xff1f;C与C语言有什么区别&#xff1f; C是一种高级编程语言&#xff0c;是对C语言的扩展。C具有更强大的面向对象编程能力&#xff0c;支持类、继承、多态等特性。 什么是面向对象编程&#xff1f; 面向对象编程是一种编程…...

二进制,八进制,十进制,十六进制的相互转换【简单易懂】(含代码模板)

目录 二进制转十进制 十进制原理&#xff1a; 二进制转十进制计算&#xff1a; 八、十六进制转十进制 八、十六进制转十进制计算&#xff1a; 十进制转其他进制 十进制转二进制&#xff1a; 十进制转八进制&#xff1a; 十进制转十六进制&#xff1a; 不同进制之间的相互转…...

Redis技术详解

Redis技术详解 Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存&#xff0c;事件发布或订阅&#xff0c;高速队列等场景。支持网络&#xff0c;提供字符串&#xff0c;哈希&#xff0c;列表&#xff0c;队列&#xff0c;集合结构直接存取&#xff0c;基于内存&…...

解决mybatis-plus updateById方法不能set null

原因 因为 MyBatis-Plus 自带的更新方法&#xff0c;都有对对象空值进行判空。只有不为空的字段才会进行数据更新 所以像updateById等方法&#xff0c;在更新时会自动忽略为null的字段&#xff0c;只更新非null字段值 但在某些情况下&#xff0c;我们的需求就是将数据库中的值…...

Linux的mysql 数据库及开发包安装

注意&#xff1a;以下操作都以 root 用户进行操作 直接按照下列步骤在命令行输入即可 下载 1&#xff1a; sudo yum install -y mariadb 2&#xff1a; sudo yum install -y mariadb-server 3&#xff1a; sudo yum install -y mariadb-devel 接下来配置文件&#xff1a;在相应…...

π-Day快乐:Python可视化π

π-Day快乐&#xff1a;Python可视化π 今天是3.14&#xff0c;正好是圆周率 π\piπ 的前3位&#xff0c;因此数学界将这一天定为π\bold{\pi}π day。 π\piπ 可能是最著名的无理数了&#xff0c;人类对 π\piπ 的研究从未停止。目前人类借助计算机已经计算到 π\piπ 小数…...

【论文速递】ACM MM 2022 - 基于统一对比学习框架的新闻多媒体事件抽取

【论文速递】ACM MM 2022 - 基于统一对比学习框架的新闻多媒体事件抽取 【论文原文】&#xff1a;Multimedia Event Extraction From News With a Unified Contrastive Learning Framework 【作者信息】&#xff1a;Liu, Jian and Chen, Yufeng and Xu, Jinan 论文&#xff…...

数据库分库分表

一、为什么要分库分表 如果一个网站业务快速发展,那这个网站流量也会增加,数据的压力也会随之而来,比如电商系统来说双十一大促对订单数据压力很大,Tps十几万并发量,如果传统的架构(一主多从),主库容量肯定无法满足这么高的Tps,业务越来越大,单表数据超出了数据库支持…...

【C缺陷与陷阱】----语义“陷阱”

&#x1f4af;&#x1f4af;&#x1f4af; 本篇处理的是有关语义误解的问题&#xff1a;即程序员的本意是希望表示某种事物&#xff0c;而实际表示的却是另外一种事物。在本篇我们假定程序员对词法细节和语法细节的理解没有问题&#xff0c;因此着重讨论语义细节。导言&#xf…...

JavaWeb--VUE

VUE1 概述2 快速入门3 Vue 指令3.1 v-bind & v-model 指令3.2 v-on 指令3.3 条件判断指令3.4 v-for 指令4 生命周期5 案例5.1 需求5.2 查询所有功能5.3 添加功能目标 能够使用VUE中常用指令和插值表达式能够使用VUE生命周期函数 mounted 1 概述 接下来我们学习一款前端的框…...

2分钟彻底搞懂“高内聚,低耦合”

&#x1f497;推荐阅读文章&#x1f497; &#x1f338;JavaSE系列&#x1f338;&#x1f449;1️⃣《JavaSE系列教程》&#x1f33a;MySQL系列&#x1f33a;&#x1f449;2️⃣《MySQL系列教程》&#x1f340;JavaWeb系列&#x1f340;&#x1f449;3️⃣《JavaWeb系列教程》…...

网络编程UDP TCP

定义:关注底层数据的传输 区分网页编程:关注上层应用 端口号:区分软件 2个字节 0~65535表示端口号 同一协议下端口号不能冲突 8000以下称为预留端口号,建议之间设置端口号为8000以上 常见的端口号: 80:http 8080:tomcat 3306:mysql 1521:oracle InetSocketAddress:此类实现IP套…...

公司网站开源/东莞外贸优化公司

资源 pigeon: ^1.0.17 packages/packages/pigeon Flutter官方推荐插件开发辅助工具-Pigeon 安装 dart pub add pigeonpubspec.yaml dependencies:flutter:sdk: flutterpigeon: ^1.0.7...步骤 1. 创建一个messages.dart模版文件 messages.dart import package:pigeon/pige…...

郑州疫情最新消息今天/宁波seo外包服务平台

拿到 .bin 文件&#xff0c;在文件所在目录下执行如下命令即可安装&#xff0c; ./your-file-name.bin 如果提示 “没有那个文件或目录” &#xff0c;给它加上执行权限即可&#xff0c;执行如下命令&#xff0c; chmod x ./your-file-name.bin...

如何搜索网站/58同城黄页推广

为什么80%的码农都做不了架构师&#xff1f;>>> 效果图示&#xff1a; 主要代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>根据可见状态确定 是否显示或隐藏元素</title><script s…...

c 做网站/关键词搜索技巧

文章目录前言&#x1f680; 一、概述&#x1f680; 二、事件分析&#x1f308; 2.1 邮件投递&#x1f308; 2.2 实施诈骗&#x1f680; 三、资产分析&#x1f308; 3.1 资产特点&#x1f308; 3.2 溯源结果前言 微步情报局监测发现多起黑产组织针对国内手机用户的邮件和短信诈骗…...

做网站公司(信科网络)/营销策略是什么

1、概述 BDS全称&#xff1a;Boot Dev Select&#xff08;启动设备选择) 主要功能是加载并连接驱动程序&#xff0c;管理并启动引导项。在引导操作系统之前会初始化设备&#xff08;USB键盘鼠标&#xff0c;VGA设备等&#xff09;&#xff0c;然后通过Variable功能来控制启动顺…...

帮你做决定的网站/今日新闻最新消息

此方法涉及多媒体信息处理领域&#xff0c;包括计算机智能、模式识别、机器学习领域。背景技术&#xff1a;&#xff1a;人类的动作检测识别方法&#xff0c;在当今社会具有非常广泛的应用&#xff0c;例如&#xff1a;智能监控、人机交互的体感游戏、视频检索等等。基于RGB-D(…...