分享

查排序后的指定行记录

 fondofbeyond 2006-11-14


一个表中有个可排序字段,如果要拿出按照这个字段排序后的结果集中某个位置上的值,SQL应该如何写?要求用一个SQL查询来实现。

比如表table字段id从1开始,顺序增长,不一定连续,现在要用一个SQL找出排在正数第5位的记录,SQL应该如何写?

 


SELECT TOP 1 *
FROM (SELECT TOP 5 *
        FROM yjf
        ORDER BY ww ASC) DERIVEDTBL
ORDER BY ww DESC

--前提是字段中数据不能有重复的

SELECT *
FROM yjf a
WHERE ((SELECT COUNT(1)
          FROM yjf
          WHERE ww < a.ww) = 4)

 

select id, name from
(select
 (
  (select count(table1.id) from table1 where table1.id < table_A.id) + 1
 ) as tid, id, name from table1 as table_A)
as temp_Table
where temp_Table.tid = 5

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多