关于数据库如何查询第二条数据且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 ) "
时间: 2024-12-18 10:45:47