zoukankan      html  css  js  c++  java
  • 【SQL】取第n个

    第一个或最后一个:

    max min 或者叠加order by xx desc
     

    第n个:

    用到order by

    limit 起始位置,取得数据条数 一定记得不加括号!
    比如第二名 limit 1,1 从第一个开始,取一个。默认从第零个开始
     
    不用order by
    第二个:
    max(xxx) where xxx not in(<) (select max(xxx))
    筛掉max之后的max就是第二了
     
    通用型模板
     
    使用一个表自连接,选出所有大于他的然后进行分组,第二多就是说 一共有一个大于它。由于可能同一个工资有多个纪录,加一个去重distinct
    第n多就是有n-1个大于它
    select e.emp_no,s.salary,e.last_name,e.first_name
    from
    employees e
    join 
    salaries s on e.emp_no=s.emp_no 
    and s.to_date='9999-01-01'
    and s.salary = 
    (
         select s1.salary
         from 
         salaries s1
         join
         salaries s2 on s1.salary<s2.salary 
         and s1.to_date='9999-01-01' and s2.to_date='9999-01-01'
         group by s1.salary
         having count(distinct s2.salary)=1
     )
     
  • 相关阅读:
    微信开发 缓存处理
    ASP.NET MVC 开发日常笔记
    微信开发笔记
    Kindeditor 编辑代码过滤
    PS 使用技巧
    Javascript 日常开发用到的小知识点
    C# 下载文件
    Javascript 笔记一
    C# 知识巩固三
    文献笔记(五)
  • 原文地址:https://www.cnblogs.com/fuj905/p/12917010.html
Copyright © 2011-2022 走看看