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

购物网站开发文档mvc网络营销推广方法十种

购物网站开发文档mvc,网络营销推广方法十种,在家做兼职哪个网站靠谱,做网站需要什么书力扣题 1、题目地址 601. 体育馆的人流量 2、模拟表 表:Stadium Column NameTypeidintvisit_datedatepeopleint visit_date 是该表中具有唯一值的列。每日人流量信息被记录在这三列信息中:序号 (id)、日期 (visit_date)、 人流量 (people)每天只有…

力扣题

1、题目地址

601. 体育馆的人流量

2、模拟表

表:Stadium

Column NameType
idint
visit_datedate
peopleint
  • visit_date 是该表中具有唯一值的列。
  • 每日人流量信息被记录在这三列信息中:序号 (id)、日期 (visit_date)、 人流量 (people)
  • 每天只有一行记录,日期随着 id 的增加而增加

3、要求

编写解决方案找出每行的人数大于或等于 100 且 id 连续的三行或更多行记录。
返回按 visit_date 升序排列 的结果表。
查询结果格式如下所示。

示例 1:

输入:
Stadium 表:

idvisit_datepeople
12017-01-0110
22017-01-02109
32017-01-03150
42017-01-0499
52017-01-05145
62017-01-061455
72017-01-07199
82017-01-09188

输出:

idvisit_datepeople
52017-01-05145
62017-01-061455
72017-01-07199
82017-01-09188

解释:
id 为 5、6、7、8 的四行 id 连续,并且每行都有 >= 100 的人数记录。
请注意,即使第 7 行和第 8 行的 visit_date 不是连续的,输出也应当包含第 8 行,因为我们只需要考虑 id 连续的记录。
不输出 id 为 2 和 3 的行,因为至少需要三条 id 连续的记录。

4、代码编写

1、我的写法

WITH one AS(SELECT *, ROW_NUMBER() OVER(ORDER BY id) AS r, id - ROW_NUMBER() OVER(ORDER BY id) AS rkFROM StadiumWHERE people >= 100
)
SELECT id, visit_date, people
FROM one
WHERE rk IN (SELECT rkFROM oneGROUP BY rkHAVING COUNT(rk) >= 3
)
| id | visit_date | people |
| -- | ---------- | ------ |
| 5  | 2017-01-05 | 145    |
| 6  | 2017-01-06 | 1455   |
| 7  | 2017-01-07 | 199    |
| 8  | 2017-01-09 | 188    |

2、解析

SELECT *, ROW_NUMBER() OVER(ORDER BY id) AS r, id - ROW_NUMBER() OVER(ORDER BY id) AS rk
FROM Stadium
WHERE people >= 100
| id | visit_date | people | r | rk |
| -- | ---------- | ------ | - | -- |
| 2  | 2017-01-02 | 109    | 1 | 1  |
| 3  | 2017-01-03 | 150    | 2 | 1  |
| 5  | 2017-01-05 | 145    | 3 | 2  |
| 6  | 2017-01-06 | 1455   | 4 | 2  |
| 7  | 2017-01-07 | 199    | 5 | 2  |
| 8  | 2017-01-09 | 188    | 6 | 2  |

会发现一个点,自增ID 减去 row_number 的值一样连续的,我们只需要查找 同一个 rk 值出现大于等于 3 次 就满足条件

5、知识点

1、WITH AS

作用

1、在 SQL 查询中,经常会遇到需要 重复使用的子查询
2、为了 简化查询语句提高可读性,SQL 引入了 WITH AS 语法。
3、通过使用 WITH AS,我们可以创建临时表或视图,将子查询的结果保存起来,并在主查询中使用。

作用解析

1、简化复杂查询:当查询逻辑较为复杂或包含多个嵌套的子查询时,使用 WITH AS 可以将子查询逻辑分解成可读性更高的部分。这样可以降低查询的复杂度,并且更容易理解和维护。

示例1:假设有一个名为"orders"的表,存储了订单信息,包括订单号、客户ID和订单金额。我们想要查询每个客户的订单总金额,同时筛选出总金额大于1000的客户。使用 WITH AS 可以简化查询逻辑:

WITH customer_orders (customer_id, total_amount) AS (SELECT customer_id, SUM(order_amount) AS total_amountFROM ordersGROUP BY customer_id
)
SELECT customer_id, total_amount
FROM customer_orders
WHERE total_amount > 1000;

上述示例中,我们创建了名为"customer_orders"的临时表,存储了每个客户的订单总金额。在主查询中,我们可以直接引用"customer_orders"表,并进行筛选操作,使查询逻辑更加清晰。

2、提高查询性能:使用 WITH AS 可以避免在主查询中重复执行相同的子查询,从而提高查询性能。临时表的结果会被缓存,主查询只需要引用临时表即可,避免了重复计算子查询的开销。

示例2:假设我们需要查询员工表中工资高于平均工资的员工信息,并按工资降序排序。使用 WITH AS 可以避免重复计算平均工资:

WITH average_salary AS (SELECT AVG(salary) AS avg_salaryFROM employees
)
SELECT employee_id, first_name, last_name, salary
FROM employees
WHERE salary > (SELECT avg_salary FROM average_salary)
ORDER BY salary DESC;

上述示例中,我们通过创建名为"average_salary"的临时表,保存了员工表中的平均工资。在主查询中,我们直接引用临时表中的平均工资,避免了重复计算的开销,提高了查询性能。

2、ROW_NUMBER 函数

专用窗口函数,按行数进行排序,具体用法可以看参考里面第二个链接和第三个链接

3、参考

SQL 中的 WITH AS 用法:简化查询,提高可读性
MySQL 窗口函数(Rows & Range)—— 滑动窗口函数用法
窗口函数 OVER(PARTITION BY) 详细用法 —— 语法 + 函数 + 开窗范围 ROWS 和 RANGE

http://www.tj-hxxt.cn/news/15006.html

相关文章:

  • 广州购物网站设计珠海关键词优化软件
  • 苏州市建设局安监站网站google seo
  • 深圳网站制作西安网络营销技能大赛优秀作品
  • 网站空间数据放单平台大全app
  • 平台网站建设需要什么技术卡一卡二卡三入口2021
  • 安徽省网站肥建设网站武汉网络推广seo
  • 广州有几个区图片爱站网seo
  • 龙华做网站yihe kj怎么投放广告
  • 做网站哪里学怎么开一个网站平台
  • 怎么用织梦做自己的网站百度问答app下载
  • 网站建设策划 流程在线网页制作
  • 上海网站空间服务器最新地址
  • wordpress 广告插件汉化版windows10优化工具
  • 怎样自己做代刷网站网域名查询地址
  • 外国网站开发男生技能培训班有哪些
  • wordpress建2个网站吗在线培训考试系统
  • 做超市dm的网站北京网站搭建哪家好
  • 深圳制作网站公司哪里好怎么在百度做宣传广告
  • wordpress网站迁移问题网络推广平台代理
  • 对于新公司如何让其做网站推广网络营销的作用
  • 家庭宽带做私人网站网络营销工程师
  • 广州正佳广场针对百度关键词策划和seo的优化
  • 网页制作专业软件seo价格是多少
  • 网站文章列表和图片列表排版切换代码郑州免费做网站
  • y1s华硕wordpress深圳关键词seo
  • 做网站有地区差异吗seo智能优化系统
  • 网站建设相关专业软文是什么意思通俗点
  • 怎么自己做网站空间市场推广策略 包括哪些
  • 手机模板网站模板下载网站网络营销有哪些推广平台
  • 什么企业做网站网络销售平台怎么做