zoukankan      html  css  js  c++  java
  • 查字段指定数据后一行记录

    /*
    ID    NUM 
    1    800 
    2    855 
    3    866 
    4    800 
    5    844 
    如何查NUM字段指定数据后一行记录?如NUM字段中800后一条记录
    */ 

    create table tb(ID int,   NUM int)
    insert into tb values(1 ,   800 )
    insert into tb values(2 ,   855 )
    insert into tb values(3 ,   866 )
    insert into tb values(4 ,   800 )
    insert into tb values(5 ,   844 )
    go

    --如果ID连续
    select m.* from tb m , tb n where m.id = n.id + 1 and n.num = 800
    /*

    ID          NUM         
    ----------- ----------- 
    2           855
    5           844

    (所影响的行数为 2 行)
    */

    --如果ID不连续,sql 2000
    select m.id , m.num from
    (
     
    select t.* , px = (select count(1) from tb where id < t.id) + 1 from tb t
    ) m,
    (
     
    select t.* , px = (select count(1) from tb where id < t.id) + 1 from tb t
    ) n
    where m.id = n.id + 1 and n.num = 800
    /*

    ID          NUM         
    ----------- ----------- 
    2           855
    5           844

    (所影响的行数为 2 行)
    */

    --如果ID不连续,sql 2005

    select m.id , m.num from
    (
     
    select t.* , px = row_number() over(order by id) from tb t
    ) m,
    (
     
    select t.* , px = row_number() over(order by id) from tb t
    ) n
    where m.id = n.id + 1 and n.num = 800
    /*

    ID          NUM         
    ----------- ----------- 
    2           855
    5           844

    (所影响的行数为 2 行)
    */

    drop table tb




  • 相关阅读:
    vue项目搭建过程2 -- 使用 vue cli 4.0 搭建 vue 项目
    vue项目搭建过程1 -- 环境搭建
    升级node.js版本
    git的初步了解
    期末总结
    四则运算的封装
    用户故事
    0~10的随机整数运算
    创业近一年在博客园总结一下,希望给来者一点借鉴
    PV与并发之间换算的算法换算公式
  • 原文地址:https://www.cnblogs.com/zengxiangzhan/p/1638192.html
Copyright © 2011-2022 走看看