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

公司建设网站重要性国内cms

公司建设网站重要性,国内cms,上海搬家公司收费价目表,如何提高网站安全大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:196. 删除重复的电子邮箱二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其…

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。

文章目录

  • 前言
  • 一、题目:196. 删除重复的电子邮箱
  • 二、解题
    • 1.正确示范①
      • 提交SQL
      • 运行结果
    • 2.正确示范②
      • 提交SQL
      • 运行结果
    • 3.正确示范③
      • 提交SQL
      • 运行结果
    • 4.正确示范④
      • 提交SQL
      • 运行结果
    • 5.其他
  • 总结


前言


一、题目:196. 删除重复的电子邮箱

表: Person

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| email       | varchar |
+-------------+---------+
id是该表的主键列。
该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。

编写一个 SQL 删除语句来 删除 所有重复的电子邮件,只保留一个id最小的唯一电子邮件。

以 任意顺序 返回结果表。 (注意: 仅需要写删除语句,将自动对剩余结果进行查询)

查询结果格式如下所示。
示例 1:

输入: 
Person 表:
+----+------------------+
| id | email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
| 3  | john@example.com |
+----+------------------+
输出: 
+----+------------------+
| id | email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
+----+------------------+
解释: john@example.com重复两次。我们保留最小的Id = 1

二、解题

1.正确示范①

提交SQL

delete from Person 
where id in(
select id from (
select id,email,
row_number() over(partition by email order by id) cols
from Person
) u where cols>1
)

运行结果

2.正确示范②

提交SQL

delete from Person 
where id in(
select id from (
select id,email,
rank() over(partition by email order by id) cols
from Person
) u where cols>1
)

运行结果

3.正确示范③

提交SQL

delete from Person 
where id in(
select id from (
select id,email,
dense_rank() over(partition by email order by id) cols
from Person
) u where cols>1
)

运行结果

4.正确示范④

提交SQL

delete from Person 
where id not in(select min_id from(select email,min(id) min_idfrom Persongroup by email) a
)

运行结果

5.其他


总结

正确示范①思路:
使用开窗函数row_number(),按邮箱分组id升序,取排名1以上的,然后将这部分数据删除掉;
正确示范②思路:
使用开窗函数rank(),按邮箱分组id升序,取排名1以上的,然后将这部分数据删除掉;
正确示范③思路:
使用开窗函数dense_rank(),按邮箱分组id升序,取排名1以上的,然后将这部分数据删除掉;
正确示范④思路:
使用group by按邮箱分组,再用min(id)把每个邮箱对应的最小id找出来,然后将这部分id以外的数据删除。
知识点:
row_number:顺序排序,比如序号为1、2、3
rank:并列排序,会跳过重复的序号,比如序号为1、1、3
dense_rank:并列排序,不会跳过重复的序号,比如序号为1、1、2
因为该题目中id是主键,唯一的,所以row_number、rank、dense_rank在该题目中均适用。

http://www.yayakq.cn/news/971936/

相关文章:

  • 宁波设计网站公司wordpress搭建视频分享
  • 网站设置怎么清除网站的竞争对手
  • php网站开发软件wordpress it模板
  • flash美食网站论文睢县网站制作公司
  • 网站域名最便宜厦门seo外包平台
  • 做课件需要的纯音乐网站高端型网站建设
  • 网站建设所出现的问题东道设计一年挣多少钱
  • 在虚拟机做网站亚洲尺码与欧洲尺码区别
  • wordpress title背景颜色宁波seo教学
  • 在哪个网站上找超市做生鲜网站托管如何收费
  • 苏州自助建站山东菏泽建设银行网站
  • 建设银行企业网站无法打印回单网页特效代码下载
  • 多站点网站群的建设与管理系统兰州城建设计院网站
  • 网站么做淘宝客赚佣金查询网站备案密码是什么样的
  • 那个餐饮网站IP不能安装wordpress
  • 北京网站设计公司飞沐上海网站开发工程师招聘网
  • 长春建站价格wordpress制作友情链接页面
  • 龙华网站建设方案咨询徐州 网站制作
  • 平顶山有做网站的公司陕西省西安市网站建设公司
  • 商会建设网站说明做淘宝图标网站
  • 廊坊网站app开发多少钱一个
  • 网站维护建设费入什么科目网页类型分类7种
  • 宁波网站建设zj95网站建设需要的服务器
  • 织梦的手机端网站中国建站平台
  • 做公益网站怎么赚钱泰安招聘信息最新招聘2022
  • 乡土文化网站怎么做如何在网站后台删除栏目
  • 做爰全过程免费的视频网站开封市网站开发公司
  • 做网站的上海市哪家技术好怎么在58上做公司网站
  • 舟山市建设局网站首页设计公司
  • 报名网站建设公司哪里有自助建站系统免授权版