tulip notes
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Star-Lord

希望一天成为大师的学徒
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 设计相关

  • 运行相关

  • 事务相关

  • 表设计实战系列

  • 分库分表

  • 框架使用

  • 常用sql跟关键字

    • MySql查找指定数据
      • offset 跟limit
        • 其他的limit
  • 安装与卸载相关

  • 《MySql》笔记
  • 常用sql跟关键字
EffectTang
2024-11-14
目录

MySql查找指定数据

# MySql查找指定数据

# offset 跟limit

从 employees 表中选择 hire_date 为第3个最新日期的所有记录。

SELECT * 
FROM employees 
WHERE hire_date = (
    SELECT DISTINCT(hire_date) 
    FROM employees 
    ORDER BY hire_date DESC 
    LIMIT 1 OFFSET 2
);
1
2
3
4
5
6
7
8

解析:

  1. 子查询执行:
    • 首先,子查询从 employees 表中提取所有的 hire_date 值,并去重(DISTINCT)。
    • 然后,将这些唯一的 hire_date 值按降序排列(ORDER BY hire_date DESC)。
    • 最后,从排序后的结果集中跳过前2个值(OFFSET 2),并取第3个值(LIMIT 1)。
  2. 外层查询执行:
    • 外层查询将子查询返回的 hire_date 值作为条件,从 employees 表中选择所有 hire_date 等于该值的记录。

LIMIT 1 OFFSET 2 表示从排序后的结果集中选择第3个唯一的 hire_date 值(因为 OFFSET 2 表示跳过前2个结果,LIMIT 1 表示只取1个结果)。

# 其他的limit

获取前3行数据:

SELECT * FROM users LIMIT 0, 3;
1

从第4行开始获取3行数据:

SELECT * FROM users LIMIT 3, 3;
1
上次更新: 2025/04/23, 16:23:16
hibernate的hql查询
linux中的安装与卸载

← hibernate的hql查询 linux中的安装与卸载→

最近更新
01
面向切面跟自定义注解的结合
05-22
02
时间跟其他数据的序列化
05-19
03
数据加密与安全
05-17
更多文章>
Theme by Vdoing | Copyright © 2023-2025 EffectTang
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式