zoukankan      html  css  js  c++  java
  • 写出一条SQL语句:取出表A中第31到40行记录(SQLserver,以自增长的ID作为主键,注意:

    一条Sql语句:取出表A中第31到第40记录

    写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
    答:

    解1: select top 10 * from A where id not in (select top 30 id from A) 

    解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as 

     普通做法

    select top 10 productid 

    from Production.Product

    where productid not in(

    select top 30 productid from Production.Product

    order by productid asc

    ) order by productid asc

     临时表做法

    declare  @table table (id int identity(1,1),pid int)

    insert @table(pid) 

    select productid 

    from Production.Product

    order by productid asc

    select productid from Production.Product t1

    inner join @table t2 on t1.productid=t2.pid

    where t2.id>30 and t2.id<=40 

    sqlserver2005做法

    select * from 

    (

    select productid, ROW_NUMBER() OVER(ORDER BY productid asc) as rowid

    from Production.Product

    )T

    where T.rowid>30 and rowid<=40 
  • 相关阅读:
    group by;having;order by
    oracle官方文档
    oracle正则表达式函数和正则表达式简介
    oracle系统函数
    oracle系统表
    windows搭建ftp服务器
    开机自动挂载
    linux修改设置ip地址
    My First Web Server
    为什么要写博客?
  • 原文地址:https://www.cnblogs.com/ruishuang208/p/3248029.html
Copyright © 2011-2022 走看看