zoukankan      html  css  js  c++  java
  • mysql与oracel实现类似于top的功能

    mysql的top用法需要借助limit

    limit在mysql中主要用于查询语句中,对查询结果进行分页处理,例如有10000条数据,想要拿到前100条数据,就要使用limit对结果前100条分页处理。

    limit的格式

    limit的参数有两个,分两种情况:

    当只传一个参数时,参数代表的是数据量;当传两个字段时,第一个参数代表起始位置,第二个参数代表数据量。

    select * from table_1 order by col limit 10
    select * from table_1 order by col limit 5,10
    

    上述按照字段col排序查询表table_1的数据,第一行代表查询表table_1排名前10的数据;第二行代表查询表table_1中排名除前五之外(不包括第五)的10条数据,即排名在6-15名的数据。故limit n)等价于(limit 0,n)

    oracel的top用法需要创建虚列

    rownum 是作为一个虚列存在于查询语句中,代表的是行号。

    select col1,col2 from (select col1,clol2,rownum rn from table1 where rownum<100) where rn<20 
    

    oracel 不能直接进行分页查询或者直接排序的数据,必须先增虚列排序,再进行类似的分页查询。
    所以若是需要进行特定排序,需要借助row_number()over ...order by .. 等排序函数增加虚列以达到分页查询的目的。

  • 相关阅读:
    针对性博文
    spring事务
    Redis_主从模式_哨兵模式_Cluster集群模式
    Redis AOF、RDB持久化
    Redis 高可用分布式集群
    Redis 基础
    Oracle优化学习
    Mysql:索引实战
    Mysql:性能优化
    js 二维数组定义
  • 原文地址:https://www.cnblogs.com/Zhao01/p/14931965.html
Copyright © 2011-2022 走看看