自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 601. 体育馆的人流量

601. 体育馆的人流量这题的思路参考评论区,很精奇的思想,主要分为三种情况考虑进来,以a的id最小、b的id最小、c的id最小这三种进行检索查询,其中由于这三种情况的组合可能出现重复,所以需要distinct去重,主题采用笛卡尔积的形式进行关联。题解:SELECT distinct a.* FROM Stadium a,Stadium b,Stadium cWHERE a.people >= 100 and b.people >= 100 and c.people >=

2021-05-27 10:38:12 120

原创 596. 超过5名学生的课

超过5名学生的课思路:注意HAVING关键字,HAVING 配合 GROUP BY 使用,对分组后的数据进行限制,可以使用聚合函数。SELECT class FROM courses GROUP BY class HAVING COUNT(DISTINCT student ) >= 5

2021-04-06 15:45:19 110

原创 595. 大的国家

大的国家代码实现1:SELECT World.name,World.population,World.area FROM World WHERE World.area > '3000000' OR World.population > '25000000'代码实现2:SELECT name,population,area FROM World WHERE area > '3000000'UNION SELECT name,population,area FROM W.

2021-04-06 15:32:58 71

原创 262. 行程和用户

行程和用户思路:本题主要是需要注意几个函数的运用,1、ROUND()是四舍五入的函数,前面的参数是具体的数值,后面的是保存位数。2、SUM()是求和的函数,本题运用IF()进行判断。首先需要根据时间进行分组,然后需要注意条件以时间为期限,为了得到一张整体有所关联的表,需要根据对应的关联条件进行连接,采用内连接的形式得到一张总表。查询中根据相关函数进行查询得到。具体代码:SELECT t. Request_at AS `Day`, ROUND( SUM( .

2021-04-06 14:57:54 98

原创 197. 上升的温度

上升的温度思路:对于此题需要用到MYSQL中DATEDIFF()的函数,此函数可以计算出两个日期间的天数。题解:SELECT w1.id FROM Weather w1 LEFT JOIN Weather w2 ON DATEDIFF(w1.recordDate,w2.recordDate) = 1 WHERE w1.temperature > w2.temperature ...

2021-04-06 13:57:56 54

原创 196. 删除重复的电子邮箱

删除重复的电子邮箱思路:需要根据查询区分删除比较大的重复邮箱的id。第一种可以采用内连接的形式来作比较。后来突发奇想的觉得可以使用关联查询的形式。实现一:内连接DELETE p1 FROM Person p1,Person p2WHERE p1.Email = p2.Email AND p1.Id > p2.Id实现二:关联查询代码实现:DELETE p1 FROM Person p1 LEFT JOIN Person p2 ON p1.Email = p2.Email W.

2021-03-31 12:26:23 253

原创 187. 重复的DNA序列

重复的DNA序列Sql中突然出现了一题Java,应该很鬼畜吧,就给他做了。开始做本题目的时候没什么思路,后来看评论区才了解,感谢评论区的大佬,发此篇博客只是记录学习成果。思路:由于Set中不存放重复的元素,所以可以使用Set。通过判断HashSet的存在元素来进行区分。本题的题意是解决任意长度相同的问题,本题中以定长10来解决。具体题目如下。测试代码如下:package com.leecode.Study;import java.util.ArrayList;import jav.

2021-03-31 09:24:30 88

原创 185. 部门工资前三高的所有员工

部门工资前三高的所有员工思路:审题,注意不是按照部门进行区分而是求得排名前三的工资情况SELECT d.Name AS Department,e1.Name AS Employee,e1.Salary AS Salary FROM Employee e1JOIN Department d ON e1.DepartmentId = d.IdWHERE 3 > ( SELECT COUNT(DISTINCT e2.Salary ) FROM Employee e2 WHERE .

2021-03-30 17:14:01 72

原创 184. 部门工资最高的员工

部门工资最高的员工思路使用JOIN 将两表数据关联,再根据条件查询得到按部门分类,且工资最高的部门。Select d.Name Department ,e.Name Employee ,e.Salary Salary FROM Employee e JOIN Department d ON e.DepartmentId = d.Id WHERE (e.Salary,d.Id) IN(SELECT Max(Salary),a.DepartmentId FROM Employee a G.

2021-03-30 17:11:26 67

原创 183. 从不订购的客户

从不订购的客户思路:得了解NOT IN这题就好做了SELECT `NAME` AS Customers FROM Customers WHERE Id NOT IN( SELECT CustomerId FROM Orders )

2021-03-30 14:38:02 57

原创 182. 查找重复的电子邮箱

查找重复的电子邮箱思路:我首先想到的是采用自连接的形式,通过查找邮箱相同,需要注意额外的需要排除相同id出现的情况。第二种采用Group By的形式。相比较内连接的形式耗时更少方法一:内连接的形式SELECT DISTINCT p1.Email FROM Person p1, Person p2 WHERE p1.Email = p2.Email AND p1.Id != p2.Id方法二:GROUP BYSELECT Email FROM (SELECT Email,count(.

2021-03-30 14:02:20 323

原创 181. 超过经理收入的员工

超过经理收入的员工思路:起初想法比较复杂,想着需要取出员工中经理的ManageId去查询,后来发现复杂化了,直接可以通过获取两次信息进行比对得到。(1)实现1此处a表示的是员工、b表示的是经理代码实现:SELECT a.name AS Employee FROM Employee a,Employee bWHERE a.ManagerId = b.Id AND a.Salary > b.Salary(2)实现2 使用JOINSELECT a.name AS Employ.

2021-03-30 13:39:12 60

原创 180. 连续出现的数字

连续出现的数字思路:主要是对连续数字的统计,首先要得到连续的num出现三次且值相等,注意是连续,然后查询的结果需要去重(连续出现说明id也是连续的)实现代码:SELECT DISTINCT L1.num AS ConsecutiveNums FROM `Logs` l1,`Logs` l2,`Logs` l3 WHERE l1.Id = L2.Id - 1 AND l2.Id = l3.Id -1 AND l1.num = l2.num AND l2.num = l3.num...

2021-03-30 11:05:45 64

原创 178. 分数排名

分数排名思路:此题需要按照两步进行,首先查询出降序得到的分数,其次应该根据统计得到大于或者等于当前数的总数1、先通过查询得到降序排列的分数select Score from Scores order by Score desc2、再通过计算排名X:为当前传入的分数select count(distinct b.Score) from Scores b where b.Score >= X实现代码:select a.Score,(select count(distinct .

2021-03-29 17:27:00 69

原创 177. 第N高的薪水

第N高的薪水通过mysql中的函数的形式运行,指定第几高的形式进行查询需要注意的几个点:1、薪水一样的问题需要避免,可以使用group by来避免重复2、需要定义从第几个开始,因为这边采用先排序后分页,所以如果为第n大的值,需要定义Set n := n-1...

2021-03-29 17:02:12 53

原创 176. 第二高的薪水

第二高的薪水思路:注意查询结果没有则为null第一次尝试:考虑欠缺,重复的情况未考虑,排序默认应该是升序的,而且需要额外考虑一种情况,如果表中只有一个数据将被判定错误,所以可以使用嵌套查询的形式。成功界面:select(select distinct Salary from Employee e order by Salary desc limit 1,1) AS SecondHighestSalary...

2021-03-29 16:42:46 118 1

原创 175. 组合两个表-力扣练习

组合两个表思路:本文中提出无论如何都需要满足以下字段,所以采用关联查询的形式包含该字段,只不过结果为null代码如下:select p.FirstName,p.LastName,a.City,a.State from Person p left join Address a on p.PersonId = a.PersonId;...

2021-03-29 16:18:45 57

原创 关于使用SpringBoot导出Pdf(itextpdf)

前景:

2021-03-18 16:33:01 1164 2

原创 分布式-SpringCloud-Eureka注册中心-SpringBoot

分布式-SpringCloud-Eureka注册中心-SpringBoot前言:随着互联网的发展,网站规模不断扩大,所以单体服务无法满足日常所需,可以采用将各个任务模块分到不同的服务器中,但是例如用户模块需要使用订单模块,位于不同服务器的就涉及到RPC,所以就需要注册中心,将两个模块都注册在注册中心中,用户模块则可以在注册中心中找到想要的。下面就涉及到用户买票需要调用到卖票的模块的一些服务。SpringCloud-Eureka注册中心-SpringBoot分布式-SpringCloud-Eureka

2020-11-23 10:38:10 176

原创 Spring-Boot-原理-自定义starter

Spring-Boot-原理-自定义starter前言:spring-boot最强大的地方在于将所有的场景均抽取成了starter,也就是场景启动器,通过引入场景启动器就能使用其功能,即使是这样也不能完全保证后期的需求,所以自定义的场景启动器就很重要。而且当自己编辑好starter的时候,其他人也可以通过导入依赖的方式直接使用。创建空白项目,在此项目中分别加入使用maven从创建项目和使用Spring Initializr创建项目的两个module。此处以maven创建的模块com.atguigu.s

2020-11-16 10:18:19 96

原创 2020-11-15

SpringBoot整合Mybatis首先创建项目,这边使用的springBoot的版本为2.2.11,因为使用的是idea2020版,所以在初始化界面选上springWeb、jdbc、mybatis、还有mysql;但需注意的是我这边装的mysql的版本为5.5,所以需要在依赖中设置版本,以及jdbc、mybatis所适配的版本,由于项目中缺少日志配置文件,系统会报错所以将其导入。pop.xml文件对应如下:<?xml version="1.0" encoding="UTF-8"?>

2020-11-15 18:26:23 77

原创 SpringBoot数据访问-整合Druid,配置数据源监控

SpringBoot数据访问-整合Druid,配置数据源监控在maven中导入druid在配置文件中修改数据源信息,将默认的数据源改为Druid。我这边springBoot的版本是2.4.0需要注意的是在配置文件中指定 initialization-mode: always,因为我的mysql是5.5的版本,与springBoot默认加载的版本不符合所以需要在maven中指定版本具体如下 <dependency> <groupId>org.spri

2020-11-15 13:48:21 173

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除