
MySQL
qq_期许
不设限
展开
-
DataGrip导入csv报错[42000][1064] You have an error in your SQL syntax; check the manual that corresponds
问题现象DataGrip导入csv文件,勾选了First row is header后,提示如下错误信息:原因原因是,csv文件中有空列,勾选First row is header,而空列不能做列名,因此才会报错解决办法在Excel中打开,删除空列,再导入...原创 2021-04-11 01:03:13 · 1830 阅读 · 0 评论 -
DataGrip代码自动补齐功能“失效”解决办法
目录问题现象原因解决办法问题现象输入字段名,datagrip不提示自动补全原因schema名和表名相同但是具体详细原因我暂时还说不上来,但是你这么写是工具是会给你提示的解决办法更改表名或schema名,不让他俩一样或者在写SQL语句的时候在表名前加上schema名(以我的为例,appstore.appstore)...原创 2021-02-12 10:21:13 · 3078 阅读 · 0 评论 -
数据分析SQL面试题目9套-第6题(笔记)
目录1. 题目2. 解题2.1 查询出每个用户最近一次登录的记录(每个用户只显示一条最近登录的记录),以及给出每个用户的登录总次数(同一天多次登录人为是一次)2.2 生成一张临时表,表名自定,四列数据,分别是:题目来源:https://www.jianshu.com/p/0f165dcf95251. 题目建表语句:create table userlog( id int , name varchar(10), EmailAddress varchar(50), l原创 2021-01-27 22:22:46 · 356 阅读 · 0 评论 -
数据分析SQL面试题目9套-第5题(笔记)
目录1. 题目(分组累加)2. 解题2.1 对A表的fdate列添加索引2.2 通过SQL语句,将A表数据进行计算后得到B表结果,并描述执行过程题目来源:https://www.jianshu.com/p/0f165dcf95251. 题目(分组累加)1)对A表的fdate列添加索引2)通过SQL语句,将A表数据进行计算后得到B表结果,并描述执行过程建表语句:create table A2 (FDATE datetime,value int);insert into a2 value原创 2021-01-27 21:40:49 · 161 阅读 · 0 评论 -
数据分析SQL面试题目9套-第3、4题(笔记)
题目来源:https://www.jianshu.com/p/0f165dcf95251. 题目(行转列)建表语句:-- 创建 course 表create table course (id varchar(20),teacher_id varchar(20),week_day varchar(20),has_course varchar(20));insert into course value(1,1,2,"Yes"),(2,1,3,"Yes"),(3,2,1,"Yes"),原创 2021-01-27 21:09:04 · 254 阅读 · 2 评论 -
数据分析SQL面试题目9套-第2题(笔记)
题目来源:https://www.jianshu.com/p/0f165dcf95251. 题目建表语句:create table userinfo(uid varchar(10),app_name varchar(20),duration int(10),times int(10),dayno datetime);load data infile 'C:/AAA_learning/data.csv'into table userinfofields terminated by原创 2021-01-27 21:05:00 · 138 阅读 · 1 评论 -
MySQL导入文件报错[HY000][1290] The MySQL server is running with the --secure-file-priv option so it cannot
问题现象:完整的报错信息:[HY000][1290] The MySQL server is running with the --secure-file-priv option so it cannot execute this statement原因:安装MySQL的时候限制了导入与导出的目录权限查看secure_file_priv该变量的设置:step1:打开MySQL终端MySQL 8.0 Command Line Client,输入如下命令: SHOW GLOBAL VARIABL原创 2021-01-23 14:53:02 · 1197 阅读 · 0 评论 -
数据分析SQL面试题目9套-第1题(笔记)
题目来源:https://www.jianshu.com/p/0f165dcf95251. 题目建表语句:create table datafrog_test1( userid varchar(20), changjing varchar(20), inttime varchar(20));insert into datafrog_test1 values(1,1001,1400),(2,1002,1401),(1,1002,1402),(1,1001,1402原创 2021-01-19 22:59:46 · 234 阅读 · 0 评论 -
SQL经典45题 - (31~45)
目录31.查询课程编号为 01 且课程成绩在 80 分以上的学生的学号和姓名32.求每门课程的学生人数33. 成绩不重复,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩34.成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生35.查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩36. 查询每门成绩最好的前两名37. 统计每门课程的学生选修人数(超过 5 人的课程才统计)38.检索至少选修两门课程的学生学号39.查询选修了全部课程的学生信息40.查询各学生的年龄原创 2021-01-17 15:14:04 · 243 阅读 · 0 评论 -
DataGrip执行SQL语句提示“java.net.ConnectException: Connection refused: connect”
问题现象:选中SQL语句执行,出现如下提示:右键数据库名-properties,测试数据库连接,报错完整报错信息如下:[08S01] Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.java.net.ConnectException原创 2021-01-17 14:30:13 · 6105 阅读 · 2 评论 -
SQL经典45题 - (21~30)
目录21. 查询男生、女生人数22. 查询名字中含有「风」字的学生信息23. 查询同名同性学生名单,并统计同名人数24. 查询 1990 年出生的学生名单25. 查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列26. 查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩27. 查询课程名称为「数学」,且分数低于 60 的学生姓名和分数28. 查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况)29. 查询任何一门课程成绩在 70 分以上的姓名、课程名称和分数原创 2021-01-15 18:05:54 · 129 阅读 · 0 评论 -
SQL经典45题 - (11~20)
表字段如图所示:10. 查询没学过"张三"老师讲授的任一门课程的学生姓名# 中间表select distinct student.Snamefrom student inner join sc s on student.SId = s.SIdinner join course c on s.CId = c.CIdinner join teacher t on c.TId = t.Tidwhere t.Tname = '张三';select distinct student.Snamef原创 2021-01-15 17:56:06 · 144 阅读 · 0 评论 -
SQL经典45题 - (1~10)
目录1.查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数1.1 查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )1.2 查询同时存在01和02课程的情况1.3 查询选择了02课程但没有01课程的情况2.查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩3. 查询在 SC 表存在成绩的学生信息4.查询所有同学的学生编号、学生姓名、选课总数、所有课程的成绩总和5.查询「李」姓老师的数量6.查询学过「张三」老师授课的同学的信息7.查询没有学原创 2021-01-09 22:05:57 · 135 阅读 · 0 评论 -
牛客网刷题之SQL-24.获取所有非manager员工当前的薪水情况
获取所有非manager员工当前的薪水情况目录获取所有非manager员工当前的薪水情况1. 题目2. 解题3. 思路1. 题目2. 解题select dept_no, e.emp_no, salaryfrom employees e, salaries s, dept_emp dewhere e.emp_no=s.emp_no and e.emp_no=de.emp_no and s.to_date='9999-01-01'and e.emp_no not in原创 2021-01-03 21:13:27 · 143 阅读 · 0 评论 -
牛客网刷题之SQL-22.统计各个部门的工资记录数
统计各个部门的工资记录数目录统计各个部门的工资记录数1. 题目2. 解题1. 题目2. 解题select dept.dept_no, dept_name, count(sa.salary) as sumfrom departments dept, dept_emp, salaries sawhere dept.dept_no=dept_emp.dept_no and dept_emp.emp_no=sa.emp_nogroup by dept.dept_nameor原创 2021-01-03 18:27:11 · 397 阅读 · 0 评论 -
牛客网刷题之SQL-20.查找员工编号emp_now为10001其自入职以来的薪水salary涨幅值growth
查找员工编号emp_now为10001其自入职以来的薪水salary涨幅值growth1. 题目2. 解题select ( (select s.salary from salaries s where s.emp_no=10001 order by s.to_date desc limit 1) - (select s.salary from salaries s where s.emp_no=10001 order by s.to_date asc limit 1)原创 2021-01-03 17:37:51 · 148 阅读 · 0 评论 -
牛客网刷题之SQL-19.查找所有员工的last_name和first_name以及对应的dept_name
查找所有员工的last_name和first_name以及对应的dept_name目录查找所有员工的last_name和first_name以及对应的dept_name1. 题目2. 解题3. 思路1. 题目2. 解题select t.last_name, t.first_name, dept.dept_namefrom (select dept_no, last_name, first_namefrom employees emp left join dept_e原创 2021-01-02 23:42:01 · 214 阅读 · 0 评论 -
牛客网刷题之SQL-16.统计出当前各个title类型对应的员工当前薪水对应的平均工资
统计出当前各个title类型对应的员工当前薪水对应的平均工资目录统计出当前各个title类型对应的员工当前薪水对应的平均工资1. 题目2. 解题1. 题目2. 解题select t.title, avg(s.salary)from salaries s inner join titles t on s.emp_no = t.emp_nowhere t.to_date='9999-01-01' and t.to_date=s.to_dategroup by t.titl原创 2021-01-02 22:48:10 · 159 阅读 · 0 评论 -
牛客网刷题之SQL-18.查找当前薪水排名第二多的员工编号emp_no
查找当前薪水排名第二多的员工编号emp_no1. 题目2. 解题SELECT e.emp_no, MAX(s.salary) AS salary, e.last_name, e.first_nameFROM employees AS e INNER JOIN salaries AS sON e.emp_no = s.emp_noWHERE s.to_date = '9999-01-01'AND s.salary NOT IN (SELECT MAX(salary) FROM ...原创 2021-01-02 11:33:06 · 124 阅读 · 0 评论 -
牛客网刷题之SQL-17.统计出当前各个title类型对应的员工当前薪水对应的平均工资
统计出当前各个title类型对应的员工当前薪水对应的平均工资题目链接1. 题目2. 解题-- 写法一select emp_no, salaryfrom salaries swhere s.to_date='9999-01-01'group by s.salaryorder by s.salary desclimit 1,1;-- 写法二select emp_no, salaryfrom sala原创 2020-10-05 23:22:52 · 204 阅读 · 0 评论 -
牛客网刷题之SQL-15.查找employees表所有emp_no为奇数
查找employees表所有emp_no为奇数目录1. 题目2. 解题3. 知识点题目链接1. 题目2. 解题select emp_no, birth_date, first_name, last_name, gender, hire_datefrom employeeswhere emp_no&1 and last_name<>'Mary'order by hire_da原创 2020-10-04 18:05:28 · 119 阅读 · 0 评论 -
牛客网刷题之SQL-14.牛客网刷题之SQL-13.从titles表获取按照title进行分组
牛客网刷题之SQL-13.从titles表获取按照title进行分组目录1. 题目2. 解题题目链接1. 题目2. 解题SELECT title, COUNT(DISTINCT emp_no) AS t FROM titlesGROUP BY title HAVING t >= 2;原创 2020-10-03 23:48:00 · 98 阅读 · 0 评论 -
牛客网刷题之SQL-13.从titles表获取按照title进行分组
从titles表获取按照title进行分组目录1. 题目2. 解题题目链接1. 题目2. 解题SELECT title, COUNT(title) AS t FROM titlesGROUP BY title HAVING t >= 2原创 2020-10-02 13:47:25 · 127 阅读 · 0 评论 -
牛客网刷题之SQL-12.获取所有部门中当前员工薪水最高的相关信息
获取所有部门中当前员工薪水最高的相关信息目录1. 题目2. 解题题目链接1. 题目2. 解题SELECT a.dept_no AS dept_no, a.emp_no AS emp_no, MAX(b.salary) AS salaryFROM dept_emp a JOIN salaries b ON a.emp_no = b.emp_no AND a.to_date = '9999-01-01' AND b.to_dat原创 2020-10-02 13:35:21 · 298 阅读 · 1 评论 -
牛客网刷题之SQL-11.获取所有员工当前的manager
获取所有员工当前的manager目录1. 题目2. 解题3. 思路题目链接1. 题目2. 解题SELECT a.`emp_no` AS emp_no, b.`emp_no` AS manager_noFROM dept_emp a LEFT JOIN dept_manager b ON a.dept_no = b.dept_noWHERE a.emp_no<>b.`emp_no` AND b.to_date='9999-01-01';3.原创 2020-10-02 13:12:59 · 216 阅读 · 0 评论 -
牛客网刷题之SQL-10.获取所有部门当前manager的当前薪水情况
获取所有部门当前manager的当前薪水情况目录1. 题目2. 解题题目链接1. 题目2. 解题select e.emp_nofrom employees e left join dept_manager dm on e.emp_no = dm.emp_nowhere dm.dept_no is null;这题很简单,left join 夺标链接,找出匹配字段为null的记录即可。...原创 2020-09-20 14:26:50 · 87 阅读 · 0 评论 -
牛客网刷题之SQL-9.获取所有部门当前manager的当前薪水情况
获取所有部门当前manager的当前薪水情况目录1. 题目2. 解题题目链接1. 题目2. 解题select dm.dept_no, dm.emp_no, s.salaryfrom dept_manager dm inner join salaries s on dm.emp_no = s.emp_nowhere dm.to_date='9999-01-01' and s.to_date='9999-01-01';.原创 2020-09-20 14:06:50 · 99 阅读 · 0 评论 -
牛客网刷题之SQL-8.找出所有员工当前具体的薪水salary情况 目录
找出所有员工当前具体的薪水salary情况目录1. 题目2. 解题题目链接1. 题目2. 解题select distinct salaryfrom salaries swhere s.to_date = '9999-01-01'order by s.salary desc;原创 2020-09-19 18:54:49 · 100 阅读 · 0 评论 -
牛客网刷题之SQL-7. 查找薪水变动超过15次的员工号emp_no以及其对应的变动次数t
查找薪水变动超过15次的员工号emp_no以及其对应的变动次数t目录1. 题目2. 解题3. 知识点题目链接1. 题目2. 解题select s.emp_no, count(s.emp_no) as tfrom salaries sgroup by s.emp_nohaving t>15;3. 知识点1. COUNT()函数不可用于WHERE语句中2. 用COUNT()函数和GROUP BY语句可以统计同..原创 2020-09-19 18:43:08 · 224 阅读 · 0 评论 -
牛客网刷题之SQL-6. 查找所有员工入职时候的薪水情况
查找所有员工入职时候的薪水情况目录1. 题目2. 解题3. 知识点题目链接1. 题目2. 解题select e.emp_no, s.salaryfrom employees e left join salaries s on e.emp_no = s.emp_no AND e.hire_date = s.from_dateorder by s.emp_no desc;3. 知识点多表连接排序对于代码中的e.hi.原创 2020-09-19 18:27:07 · 163 阅读 · 0 评论 -
牛客网刷题之SQL-5. 查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括暂时没有分配具体部门的员工
查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括暂时没有分配具体部门的员工目录1. 题目2. 解题3. 知识点题目链接1. 题目2. 解题select last_name, first_name, dept_nofrom employees e left join dept_emp on e.emp_no = dept_emp.emp_no;3. 知识点left join 多表原创 2020-09-19 17:48:47 · 203 阅读 · 0 评论 -
牛客网刷题之SQL-4. 查找所有已经分配部门的员工的last_name和first_name以及dept_no
查找所有已经分配部门的员工的last_name和first_name以及dept_no目录1. 题目2. 解题3. 知识点题目链接1. 题目2. 解题select last_name, first_name, dept_nofrom employees e left join dept_emp on e.emp_no = dept_emp.emp_no where dept_no is not null;3. 知原创 2020-09-19 17:43:59 · 560 阅读 · 0 评论 -
牛客网刷题之SQL-3. 查找各个部门当前领导当前薪水详情以及其对应部门编号dept_no
查找各个部门当前领导当前薪水详情以及其对应部门编号dept_no目录1. 题目2. 解题3. 知识点题目链接1. 题目2. 解题select s.emp_no, salary, from_date, s.to_date, dm.dept_nofrom salaries s left join dept_manager dm on s.emp_no = dm.emp_nowhere dm.to_date原创 2020-09-19 17:27:04 · 143 阅读 · 0 评论 -
牛客网刷题之SQL-2. 查找入职员工时间排名倒数第三的员工所有信息
查找入职员工时间排名倒数第三的员工所有信息目录1. 题目2. 解题3. 知识点题目链接1. 题目2. 解题SELECT *FROM employeesWHERE hire_date = ( SELECT hire_date FROM employees ORDER BY hire_date DESC LIMIT 2,1 );3. 知识点1. 子查询 思路和SQL1一样2. limit 可参考博客https:/原创 2020-09-19 17:08:00 · 193 阅读 · 0 评论 -
牛客网刷题之SQL-1. 查找最晚入职员工的所有信息
查找最晚入职员工的所有信息,为了减轻入门难度,目前所有的数据里员工入职的日期都不是同一天(sqlite里面的注释为--,mysql为comment)CREATE TABLE `employees` (`emp_no` int(11) NOT NULL, -- '员工编号'`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NO原创 2020-09-19 16:45:57 · 155 阅读 · 0 评论 -
LeetCode刷题之数据库-185. 部门工资前三高的所有员工(难度-困难)
185. 部门工资前三高的所有员工目录1. 题目2. 解题leetcode链接1. 题目2. 解题select d.name AS Department,a.name AS Employee,a.Salaryfrom (select *,dense_rank() over(partition by departmentid order by salary desc) as t from Employee) as a,department as dWHERE a.d原创 2020-09-19 15:41:20 · 242 阅读 · 0 评论 -
写mysql时遇到的坑-01 where子句后不可以用别名
select classId, name, score, dense_rank() over (partition by classId order by score) as rankingfrom tablewhere ranking<=3;别名ranking用在where子句后会报错“列名ranking无效”,其原因是:SQL的执行顺序是先where后select详细可参考这篇博客:https://blog.youkuaiyun.com/Jin.原创 2020-09-19 15:34:55 · 301 阅读 · 0 评论 -
LeetCode刷题之数据库-180. 连续出现的数字(难度-中等)
180. 连续出现的数字目录1. 题目2. 解题leetcode链接1. 题目2. 解题# Write your MySQL query statement belowselect DISTINCT l1.Num as ConsecutiveNumsfrom Logs l1, Logs l2, Logs l3where l1.Id+1=l2.Id and l2.Id+1=l3.Id and l1.Num = l2原创 2020-09-16 00:08:10 · 191 阅读 · 0 评论 -
LeetCode刷题之数据库-178. 分数排名(难度-中等)
178. 分数排名目录1. 题目2. 解题leetcode链接1. 题目2. 解题select Score, dense_rank() over (order by Score desc) as 'Rank' from Scores;知识点:窗口函数原创 2020-09-14 20:00:32 · 204 阅读 · 0 评论 -
LeetCode刷题之数据库-177. 第N高的薪水(难度-中等)
177. 第N高的薪水目录1. 题目2. 解题LeetCode链接1. 题目2. 解题CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN RETURN ( # Write your MySQL query statement below. select case when count(1)<N then null else min(t.Salary) end原创 2020-09-13 13:28:44 · 167 阅读 · 0 评论