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

window服务器如何做网站访问网络营销策划的主要特点

window服务器如何做网站访问,网络营销策划的主要特点,做招聘求职网站,重庆做优化的网络公司聚合函数介绍 聚合函数#xff1a; 对一组数据进行汇总的函数#xff0c;输入的是一组数据的集合#xff0c;输出的是单个值。 聚合函数类型#xff1a;AVG(),SUM(),MAX(),MIN(),COUNT() AVG / SUM 只适用于数值类型的字段#xff08;或变量#xff09; SELECT AVG(…聚合函数介绍 聚合函数 对一组数据进行汇总的函数输入的是一组数据的集合输出的是单个值。 聚合函数类型AVG(),SUM(),MAX(),MIN(),COUNT() AVG / SUM 只适用于数值类型的字段或变量 SELECT AVG(salary),SUM(salary),AVG(salary) * 107 FROM employees;MAX / MIN 适用于数值类型、字符串类型、日期时间类型的字段或变量 SELECT MAX(salary),MIN(salary) FROM employees;SELECT MAX(last_name),MIN(last_name),MAX(hire_date),MIN(hire_date) FROM employees;COUNT 作用计算指定字段在查询结构中出现的个数不包含NULL值的 SELECT COUNT(employee_id),COUNT(salary),COUNT(2 * salary),COUNT(1),COUNT(2),COUNT(*) FROM employees ;计算表中有多少条记录 方式1COUNT(*)返回表中记录总数适用于任意数据类型。 方式2COUNT(1) 方式3COUNT(expr) : 不一定对返回expr不为空的记录总数。 count(*)会统计值为 NULL 的行而 count(列名)不会统计此列为 NULL 值的行。 不要使用 count(列名)来替代 count(*) count(*) 是 SQL92 定义的标准统计行数的语法跟数据库无关跟 NULL 和非 NULL 无关。 Innodb引擎的表 用count(*),count(1)直接读行数复杂度是O(n)。 如何需要统计表中的记录数使用COUNT(*)、COUNT(1)、COUNT(具体字段) 哪个效率更高呢 如果使用的是MyISAM 存储引擎则三者效率相同都是O(1) 如果使用的是InnoDB 存储引擎则三者效率COUNT(*) COUNT(1) COUNT(字段) SELECT COUNT(commission_pct) FROM employees;SELECT commission_pct FROM employees WHERE commission_pct IS NOT NULL;公式AVG SUM / COUNT SELECT AVG(salary),SUM(salary)/COUNT(salary), AVG(commission_pct),SUM(commission_pct)/COUNT(commission_pct), SUM(commission_pct) / 107 FROM employees;GROUP BY 的使用 可以使用GROUP BY子句将表中的数据分成若干组。 SELECT column, group_function(column) FROM table [WHERE condition] [GROUP BY group_by_expression] [ORDER BY column];WHERE一定放在FROM后面。 在SELECT列表中所有未包含在组函数中的列都应该包含在 GROUP BY子句中。 #需求查询各个部门的平均工资最高工资 SELECT department_id,AVG(salary),SUM(salary) FROM employees GROUP BY department_id#需求查询各个job_id的平均工资 SELECT job_id,AVG(salary) FROM employees GROUP BY job_id;#需求查询各个department_id,job_id的平均工资 #方式1 SELECT department_id,job_id,AVG(salary) FROM employees GROUP BY department_id,job_id; #方式2 SELECT job_id,department_id,AVG(salary) FROM employees GROUP BY job_id,department_id;结论1SELECT中出现的非组函数的字段必须声明在GROUP BY 中。 反之GROUP BY中声明的字段可以不出现在SELECT中。 结论2GROUP BY 声明在FROM后面、WHERE后面ORDER BY 前面、LIMIT前面 结论3MySQL中GROUP BY中使用WITH ROLLUP 使用 WITH ROLLUP 关键字之后在所有查询出的分组记录之后增加一条记录该记录计算查询出的所有记录的总和即统计记录数量。 SELECT department_id,AVG(salary) FROM employees GROUP BY department_id WITH ROLLUP;最后新加的一条NULL为总体平均。 SELECT department_id,AVG(salary) avg_sal FROM employees GROUP BY department_id ORDER BY avg_sal ASC;当使用ROLLUP时不能同时使用ORDER BY子句进行结果排序即ROLLUP和ORDER BY是互相排斥的。 HAVING 基本使用 作用用来过滤数据的 1.行已经被分组。 2.使用了聚合函数。 3.满足HAVING 子句中条件的分组将被显示。 4.HAVING 不能单独使用必须要跟 GROUP BY 一起使用。 SELECT department_id, MAX(salary) FROM employees GROUP BY department_id HAVING MAX(salary)10000 ;非法使用聚合函数 不能在 WHERE 子句中使用聚合函数。 要求1如果过滤条件中使用了聚合函数则必须使用HAVING来替换WHERE。否则报错。 要求2HAVING 必须声明在 GROUP BY 的后面。 WHERE 和 HAVING的对比 区别1 WHERE 可以直接使用表中的字段作为筛选条件但不能使用分组中的计算函数作为筛选条件HAVING 必须要与 GROUP BY 配合使用可以把分组计算的函数和分组字段作为筛选条件。 区别2 如果需要通过连接从关联表中获取需要的数据WHERE 是先筛选后连接而 HAVING 是先连接后筛选。 WHERE 先筛选数据再关联执行效率高不能使用分组中的计算函数进行筛选 HAVING 可以使用分组中的计算函数在最后的结果集中进行筛选执行效率较低。 开发中的选择 可以在一个查询里面同时使用 WHERE 和 HAVING。包含分组统计函数的条件用 HAVING普通条件用 WHERE。这样我们就既利用了 WHERE 条件的高效快速又发挥了 HAVING 可以使用包含分组统计函数的查询条件的优点。当数据量特别大的时候运行效率会有很大的差别。 SELECT的执行过程 SELECT 语句的完整结构 #方式1sql92语法 SELECT ...,....,... FROM ...,...,.... WHERE 多表的连接条件 AND 不包含组函数的过滤条件 GROUP BY ...,... HAVING 包含组函数的过滤条件 ORDER BY ... ASC/DESC LIMIT ...,...#方式2sql99语法 SELECT ...,....,... FROM ... JOIN ... ON 多表的连接条件 JOIN ... ON ... WHERE 不包含组函数的过滤条件 AND/OR 不包含组函数的过滤条件 GROUP BY ...,... HAVING 包含组函数的过滤条件 ORDER BY ... ASC/DESC LIMIT ...,...#其中 #1from从哪些表中筛选 #2on关联多表查询时去除笛卡尔积 #3where从表中筛选的条件 #4group by分组依据 #5having在统计结果中再次筛选 #6order by排序 #7limit分页SQL 执行过程 SELECT 查询时的两个顺序 关键字的顺序是不能颠倒的SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT... SELECT 语句的执行顺序在 MySQL 和 Oracle 中SELECT 执行顺序基本相同FROM - WHERE - GROUP BY - HAVING - SELECT 的字段 - DISTINCT - ORDER BY - LIMIT 在 SELECT 语句执行这些步骤的时候每个步骤都会产生一个 虚拟表 然后将这个虚拟表传入下一个步骤中作为输入。需要注意的是这些步骤隐含在 SQL 的执行过程中对于我们来说不可见。 SQL 的执行原理 SELECT 是先执行 FROM 这一步的。在这个阶段如果是多张表联查还会经历下面的几个步骤 1.首先先通过 CROSS JOIN 求笛卡尔积相当于得到虚拟表 vtvirtual table1-1 2.通过 ON 进行筛选在虚拟表 vt1-1 的基础上进行筛选得到虚拟表 vt1-2 3.添加外部行。如果我们使用的是左连接、右链接或者全连接就会涉及到外部行也就是在虚拟表 vt1-2 的基础上增加外部行得到虚拟表 vt1-3。 如果是两张以上的表还会重复上面的步骤直到所有表都被处理完为止。 数据库学习视频 【MySQL数据库入门到大牛mysql安装到优化百科全书级全网天花板】
http://www.huolong8.cn/news/417274/

相关文章:

  • 专做智能化施工的网站雨人网站建设
  • 医院内网网站建设wordpress 指定文章链接
  • 软文推广页面哪些网站上可以做seo推广的
  • 做旅游网站赚钱吗网页app生成器最新版
  • 鲜花网网站开发的目标linux系统搭建网站
  • 网站的空间与域名扬州市建设局网站 竣工备案
  • 哪些网站是phpwordpress主题读取不到
  • 类似电影天堂的网站 怎么做南昌网站怎么做seo
  • 珠海公司网站制作公如何自己开网店的详细步骤
  • 网站开发用什么电脑好汽车装饰网站源码
  • 北京网站优化怎么样建设工程施工合同示范文本2017版
  • 上海论坛网站建设336633域名
  • 网站建设客户需要提供什么有哪些做设计交易网站
  • 三门峡高端网站建设网上书店网站模板
  • 营口门户网站建设电子商务网站
  • 在库言库建筑网站五金 东莞网站建设
  • 公司网站维护价格表2023南开网站建设公司
  • 电信200m宽带做网站卡吗wordpress免费企业主题网站
  • 请写出网站建设的整个过程wordpress 主页地址函数
  • 网站后台管理怎么做友情链接东莞专业建网站
  • 医院网站建设策划书深圳做网站哪家公司比较好而且不贵
  • 特效视频网站电商网名
  • 赣州市建设考勤在哪个网站网络域名注册多少钱
  • 青岛网站设计多少钱html语言
  • 网站设计平台 动易重庆建设工程质量监督信息网
  • 世纪兴网站建设ps在线网页版
  • 玩具公司网站设计论文现代建设中国公司网站
  • 做湲兔费网站视颍做网页设计师需要学什么
  • 南宁免费网站建站模板河北邢台局长
  • 北京网站推广公司建设部促进中心网站