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

制作网站费用明细轻松seo优化排名

制作网站费用明细,轻松seo优化排名,网上服务平台社保,单位建设网站需要招标这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题。涵盖了SQL面试最常考的知识点。搞懂这些题,面试时工作中sql不可能有问题。文章分为引入问题-完整解析-答案-leetcode题和答案-知识点拓展-BAT等大厂面试真题几个部分。希望能帮你全…

这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题。涵盖了SQL面试最常考的知识点。搞懂这些题,面试时工作中sql不可能有问题。

文章分为引入问题-完整解析-答案-leetcode题和答案-知识点拓展-BAT等大厂面试真题几个部分。

希望能帮你全方位的弄懂。有问题可以留言,码字不易,写一篇要好几个小时,希望能得到点赞收藏哦

一、问题

X 市建了一个新的体育馆,每日人流量信息被记录在这三列信息中:序号 (id)、日期 (visit_date)、 人流量 (people)。

请编写一个查询语句,找出人流量的高峰期。高峰期时,至少连续三行记录中的人流量不少于100。

f9ceaca1b14717e9a5d70df2893f48de.png

二、准备

create table 日人流量表 (
序号 float,
日期 date,
人流量 int(20));insert into 日人流量表 values
(1, '2017-01-01', 10),
(2, '2017-01-02',109),
(3, '2017-01-03', 150),
(4, '2017-01-04', 99),
(5, '2017-01-05', 145),
(6, '2017-01-06', 1455),
(7, '2017-01-07', 199),
(8, '2017-01-08', 188);

三、解答

[思路讲解]

我们在数据蛙图解SQL-连续出现N次类问题这篇文章里讲解过,连续类问题使用多表连接解决。

1.明确题目要求

连续3行说明3天的日期递增人流量不少于100说明这连续3天的人流量都大于等于100。使用3表自连接。

select *
from 日人流量表 a,日人流量表 b,日人流量表 c,
where a.人流量 > 100
and b.人流量 > 100
and c.人流量 > 100

2.确定连接主键

连续3天,所以可以用DATEDIFF(a.日期 , b.日期) = -1 and DATEDIFF(b.日期 , c.日期) = -1。

SELECT *
FROM 日人流量表 as a,日人流量表 as b,日人流量表 as c
where DATEDIFF(a.日期 , b.日期) = -1
and DATEDIFF(b.日期 , c.日期) = -1
and a.`人流量` >= 100
and b.`人流量` >= 100
and c.`人流量` >= 100

bc941942d46724c838d692afa1a63228.png

3.代码与逻辑修正

我们发现输出结果与我们理想状态有点不同。问题在于这里使用的是左连接,默认a表为最小日期,所以自连接会将3行转换为1行,这一行按照日期从小到大排列。现在要保证3行, 我们再将 a 的 日期 设为三个连续值中中间值和最大值,可以得到全部的连续 3 个值 。

SELECT distinct a.*
FROM 日人流量表 as a,日人流量表 as b,日人流量表 as c
where ((a.日期 = b.日期-1 and b.日期+1 = c.日期) or(a.日期-1 = b.日期 and a.日期+1 = c.日期) or(a.日期1 = c.日期 and c.日期-1 = b.日期))and (a.人流量>=100 and b.人流量>=100 and c.人流量>=100)
order by a.日期;

[代码]

SELECT distinct a.*
FROM 日人流量表 as a,日人流量表 as b,日人流量表 as c
where ((a.日期 = b.日期-1 and b.日期+1 = c.日期) or(a.日期-1 = b.日期 and a.日期+1 = c.日期) or(a.日期1 = c.日期 and c.日期-1 = b.日期))and (a.人流量>=100 and b.人流量>=100 and c.人流量>=100)
order by a.日期;

[知识点讲解]

[什么是视图]

视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。

通过视图,可以展现基表的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。

基表:用来创建视图的表叫做基表base table

[视图的优点]

  1. 简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。
  2. 安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。
  3. 数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

总而言之,使用视图的大部分情况是为了保障数据安全性,提高查询效率

[语法]

  • 视图的创建

sql create view <视图名称>[(column_list)] as select语句

  • 使用show create view语句查看视图信息

sql show create view <视图名称>;

  • 视图一旦创建完毕,就可以像一个普通表那样使用,视图主要用来查询

sql select * from view_name;

  • 视图的更改
  • CREATE OR REPLACE VIEW语句修改视图
  • ALTER语句修改视图
  • DML操作更新视图
http://www.lbrq.cn/news/2744965.html

相关文章:

  • 营销网站做推广公司体验营销
  • 主域名进入网站河南网站建设制作
  • 手机网站怎么做沉浸式关键词搜索推广
  • 网站的透明图片怎么做互联网100个创业项目
  • 聊城菜鸟网站建设公司seo怎么做新手入门
  • 高端网站建设与管理企业营销策划有限公司
  • 爬虫网站怎么做站长之家素材网站
  • 平衡木网站建设搜索推广
  • 菏泽网站建设网站优化关键词排名
  • 创建一个网站 站点根文件夹为江门关键词排名工具
  • 南宁市网站建设网络营销项目策划书
  • 巨野网站建设内容营销案例
  • 海南最新消息今天南宁seo公司
  • 肇庆市网站建设平台海外独立站
  • 萍乡网站seo网络排名优化软件
  • 新潮远网站建设发稿软文公司
  • 自费社保太坑了亏大了seo基础篇
  • 动态网站开发相关技术开鲁seo网站
  • 怎么自己做网站吓别人企业查询网
  • 工作室做网站关键词优化seo排名
  • 外包加工网邀请码seo对网店推广的作用有哪些
  • 重点实验室网站建设的研究现状搜狐三季度营收多少
  • 百宝图建设工程电子网站疫情最新情况
  • 网站建设中 提示seosem是指什么意思
  • 网站防劫持怎么做专业seo关键词优化
  • 企业名录app哪个好seo顾问阿亮博客
  • 网上商城网站系统网页设计制作网站图片
  • 青岛网站建设开发青岛谷歌优化
  • 直播网站app开发网站要怎么创建
  • 大庆网站建设google浏览器网页版
  • Android 组件封装实践:从解耦到架构演进
  • 基于51单片机汽车自动照明灯超声波光敏远近光灯设计
  • 网络原理与编程实战:从 TCP/IP 到 HTTP/HTTPS
  • 【UEFI系列】ACPI
  • GEEPython-demo1:利用Sentinel-2监测北京奥林匹克森林公园2024年NDVI变化(附Python版)
  • androidstudio内存大小配置