1.180. 连续出现的数字

表:Logs

+-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | num | varchar | +-------------+---------+ id 是这个表的主键。

编写一个 SQL 查询,查找所有至少连续出现三次的数字。

返回的结果表中的数据可以按 任意顺序 排列。

题意分析:题意易懂,就是查询所有连续出现三次的非重复数字,最简单直接的方法,就是判断每三个连续的数字是否相等,可以通过递增的id数进行操纵。

SELECT DISTINCT l.Num ConsecutiveNums
FROM Logs l
WHERE l.Num =
(SELECT Num
FROM Logs
where Id = l.Id - 1)
AND l.Num =
(SELECT Num
FROM Logs
where Id = l.Id - 2)

2.1393. 股票的资本损益

Stocks 表:

+---------------+---------+ | Column Name | Type | +---------------+---------+ | stock_name | varchar | | operation | enum | | operation_day | int | | price | int | +---------------+---------+ (stock_name, day) 是这张表的主键 operation 列使用的是一种枚举类型,包括:('Sell','Buy') 此表的每一行代表了名为 stock_name 的某支股票在 operation_day 这一天的操作价格。 保证股票的每次'Sell'操作前,都有相应的'Buy'操作。

编写一个SQL查询来报告每支股票的资本损益。

股票的资本损益是一次或多次买卖股票后的全部收益或损失。

以任意顺序返回结果即可。

题意理解:简单易懂,每一个名字对应的buy的sell的操作的钱总数减去buy的钱总数,使用sum操作即可。

# Write your MySQL query statement below
SELECT DISTINCT s.stock_name,
sum(if(operation='Buy', -price, price)) capital_gain_loss
​
FROM Stocks s
GROUP BY stock_name

这里的if函数用的相当精彩。

3.1527. 患某种疾病的患者

患者信息表: Patients

+--------------+---------+ | Column Name | Type | +--------------+---------+ | patient_id | int | | patient_name | varchar | | conditions | varchar | +--------------+---------+ patient_id (患者 ID)是该表的主键。 'conditions' (疾病)包含 0 个或以上的疾病代码,以空格分隔。 这个表包含医院中患者的信息。

写一条 SQL 语句,查询患有 I 类糖尿病的患者 ID (patient_id)、患者姓名(patient_name)以及其患有的所有疾病代码(conditions)。I 类糖尿病的代码总是包含前缀 DIAB1 。

按 任意顺序 返回结果表。

题意分析:非常简单,只要通过正则表达式判断即可。

SELECT p.patient_id,p.patient_name,p.conditions
FROM Patients p
WHERE conditions like 'DIAB1%'
OR conditions like '% DIAB1%'

4.1484. 按日期分组销售产品

表 Activities:

+-------------+---------+ | 列名 | 类型 | +-------------+---------+ | sell_date | date | | product | varchar | +-------------+---------+ 此表没有主键,它可能包含重复项。 此表的每一行都包含产品名称和在市场上销售的日期。

编写一个 SQL 查询来查找每个日期、销售的不同产品的数量及其名称。 每个日期的销售产品名称应按词典序排列。 返回按 sell_date 排序的结果表。 查询结果格式如下例所示。

select sell_date, COUNT(DISTINCT product)AS 'num_sold',GROUP_CONCAT(DISTINCT product ORDER by  product asc SEPARATOR ',')AS productsfrom ActivitiesGROUP by sell_dateORDER by sell_date;

这里用了一个关键字:group_concat,用于将制定数据连接成集合。

5.1795. 每个产品在不同商店的价格

表:Products

+-------------+---------+ | Column Name | Type | +-------------+---------+ | product_id | int | | store1 | int | | store2 | int | | store3 | int | +-------------+---------+ 这张表的主键是product_id(产品Id)。 每行存储了这一产品在不同商店store1, store2, store3的价格。 如果这一产品在商店里没有出售,则值将为null。

题意分析:列传行,使用unionall

select product_id,'store1' store, store1 price from Products where store1 is not null
union all
select product_id,'store2', store2 from Products where store2 is not null
union all
select product_id,'store3', store3 from Products where store3 is not null

ps:行转列一般用sum + if

SELECT product_id,SUM(IF(store = 'store1', price, NULL)) 'store1',SUM(IF(store = 'store2', price, NULL)) 'store2',SUM(IF(store = 'store3', price, NULL)) 'store3'
FROMProducts1
GROUP BY product_id ;

菜鸟的LEETCODE的MYSQL做题总结2相关推荐

  1. MySQL做题实战2||实习广场投递简历分析

    简介:题目来自牛客网在线编程SQL实战,文章内容主要是讲解博主自己做题时的思路.相关见解以及要点总结.总的来说,路漫漫其修远兮,吾将上下而求索! 一.题目内容一(难度:简单) 在牛客实习广场有很多公司 ...

  2. MySQL做题实战1||获得积分最多的人

    简介:题目来自牛客网在线编程SQL实战,文章内容主要是讲解博主自己做题时的思路.相关见解以及要点总结.路漫漫其修远兮,吾将上下而求索! 一.题目内容一(难度:简单) 牛客每天有很多用户刷题,发帖,点赞 ...

  3. 如何克服Leetcode做题的困境

    文章目录 如何克服Leetcode做题的困境 问题背景 克服困境的建议 实践与理论结合 切忌死记硬背 分析解题思路 不要过早看答案 迭代式学习 寻求帮助 坚持与耐心 查漏补缺 结论 如何克服Leetc ...

  4. LeetCode —— 深搜水题记录

    正文之前 好长一段时间没有更新博客了,是因为放假了都是一整个白天地去学车,然后晚上看看书,做一做题就过去了,好在已经完成驾照考试,但是最近又没有研究什么技术,所以就只好拿这几天做的 LeetCode ...

  5. hive导数据到mysql 自增主键出错_python+mysql做一个图书管理系统?

    开发一个图书管理系统,首先需要对此项目进行一个简单的需求分析: 主要功能包括: 图书信息 图书分类 用户信息 用户借阅统计 管理员 管理员权限 接下来可以进行数据库的设计,在这里我提供一个简单的数据库 ...

  6. php mysql上机题_PHP+mysql真题

    PHP+mysql真题 来自<PHP程序员面试笔试宝典>,涵盖了近三年了各大型企业常考的PHP面试题,针对面试题提取出来各种面试知识也涵盖在了本书. [真题215]按要求写出SQL实现. ...

  7. 【LeetCode】第374题——猜数字大小(难度:简单)

    [LeetCode]第374题--猜数字大小(难度:简单) 题目描述 解题思路 代码详解 注意点 题目描述 猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字. 请你猜选出的是哪 ...

  8. ctf新手总结--web做题

    文章目录 后台目录文件 御剑扫后台目录 dirsearch扫后台文件 Git泄露 bp抓包 Wireshark 后门,菜刀,蚁剑 PHP代码审计 正则表达式 序列化和反序列化 相关函数 相关魔术方法 ...

  9. 学习笔记 - 动态规划做题思路

    目录 一 . 什么是动态规划? 二.什么问题能用动态规划? 三.动态规划思路 一 . 什么是动态规划? 上一篇文章已经讲了动态规划是什么,按我个人的理解来说 动态规划就是一种 将一个大问题分解为各个独 ...

  10. 菜鸟教程python3 mysql_Python3 MySQL 数据库连接 | 菜鸟教程

    Python3 MySQL 数据库连接 | 菜鸟教程 2018-09-13 Python3 MySQL 数据库连接 本文我们为大家介绍 Python3 使用SQL基础教程 实例: 以下实例链接Mysq ...

最新文章

  1. VB6+Winsock编写的websocket服务端
  2. @RequestParam @PathVariable
  3. VC++ 使用TeeChart图表控件(1)
  4. delphi中覆盖最大化消息
  5. 演练GridView控件显示目录图片
  6. Modern UI for WPF 开源项目(5):定义logo
  7. Docker 以 docker 方式运行 jenkins
  8. 在AspNetCore中json序列化日期格式自定义
  9. 问题1、图像分割预测时原始图片大小与预测图片大小不一致
  10. windows 画图
  11. java 继承特点_java 继承特点
  12. pk8/x509.pem转换为keystore
  13. 计算机毕业设计Java社区团购系统(源码+系统+mysql数据库+Lw文档)
  14. 远程打印服务器配置,打印服务器的配置与管理(1) 网络打印机的安装与部署...
  15. Cannot mix different versions of joi schemas解决方案
  16. python源文件的扩展名是什么_python源文件后缀是什么
  17. 透过 AI 技术解读人的行为 研究开发回声定位
  18. php java 私钥 转换格式,php公钥私钥 3 ---非标准格式转换为标准格式
  19. 今天的几点感悟_20160711
  20. 部分淘宝店超低价卖商品是骗局

热门文章

  1. nmds与mds的区别_数量生态学笔记||非约束排序|NMDS
  2. onenote for win 10无法正常启动(修复或者重装可解决)
  3. 高效能人士的七个习惯读后感与总结概括-(第四章)
  4. 数据湖 Iceberg 在网易云音乐的实践
  5. 自动打卡python脚本_[python][企业微信]企业微信自动打卡Python脚本,价值一万元的自动打卡脚本...
  6. python中汉字如何转拼音?(PyPinyin 的基础用法)
  7. 用标签打印软件将Excel中的多列数据合并打印
  8. 精通Java事务编程(3)-弱隔离级别之快照隔离和可重复读
  9. Python初学者:输入若干个正整数,升序后输出
  10. 开题报告的选题依据怎么写?