select top 3 * from Teacher where id not in(select top (count(*)-3) id from Teacher )作者: 赵国梁 时间: 2012-2-28 21:58
count(*)是聚合函数结构是一条和id能查出来不确定条数的字段是不能一起查询的。作者: 孙琦 时间: 2012-2-28 22:02 本帖最后由 孙琦 于 2012-2-28 22:04 编辑
难道仁兄有把表倒过来的功能,不要select top 3 from 【表名】 order by desc ,这样取出的不是最后三条作者: 叶彦召 时间: 2012-2-29 00:32
当然要了,这样才不会出错嘛,避免了count(*) - 3 就不会错了
另外:select top (7-3) * from Teacher也是可以的(加括号)作者: 孙琦 时间: 2012-3-1 22:24
擦,搞定了,分享下
--11.1取出这个表中的最后n条数据,并按倒序输出...
Sql语句:
select top 3 * from[表名] where id not in(select id from[表名] where id<=((select count(*) from [表名])-n)) order by [字段名] desc
--11.2取出这个表中的中间n条数据的前m条,并按倒序输出...先取出在排序。
select * from [表名]
where id in
{
select top m * from[表名] where id not in(select id from[表名] where id<=((select count(*) from [表名])-n))
)
order by [字段名] desc
--11.3取出这个表中的中间n条数据的前m条,并按倒序输出...先排序在取出
select top m * from[表名] where id not in(select id from[表名] where id<=((select count(*) from [表名])-n)) order by [字段名] desc