数据库如何查询第二条数据且ID不同

关于数据库如何查询第二条数据且ID不同

    在sever 2008数据库中,查询语句为

            select * from 表名  或则   select 列名 from 表名

这是查询一个表中所有的数据,那么查询第二语句呢?

   开始用“top 2”是可以查询前两条数据的,再根据指定的列名排序,这样想可以

             “select top 2 * from 表名 order by 列名 desc”(desc倒序 acs正序),

但是查询出来的为最后两条的数据,可见是先倒序然后查询的头两条。那么倒序是行不通。

   正序又有两条数据,要求只要一条,显然就把第一条去掉,如何去掉?首先得查询出来,

             “select top 1 * from 表名 order by 列名ID”(正序不需要添加acs,本身就是正序)

  再就该数据的ID去除,如何去掉就用 "not in"

             "select * from 表名 where 列名ID not in (Select Top 1 列名ID from 表名 Order By 列名ID ) "

这样查询的数据就不存在第一条数据,现在的第二条成为了第一条数据。而“数据库如何查询第二条数据且ID不同”现在就是查询第一条数据而已。

            "select top 1 * from 表名 where 列名ID not in (Select Top 1 列名ID from 表名 Order By 列名ID ) "

posted @ 2015-03-10 10:24  java_蛋蛋  阅读(1279)  评论(0编辑  收藏  举报