mysql -n_mysql top n 问题

2023-10-31

日常工作中,经常要查询分组的前几名或查询数据的前几条记录(第5条到第十条)等。

TOP-N分析法就是通过TOP-N算法从研究对象中得到所需的N个数据,并从排序列表中选取最大或最小的N个数据,这就是一个TOP-N算法。

mysql中用limit;oracle中用rownum。

mysql中没有top ,

你想查前几条数据 要用排序方试来查

order by id desc limit 0,10 按照id的倒序排序 取出前10条

order by id limit 5,10 按照id的正序排序 从第5条开始取10条

从mysql到oracle迁移一个程序,遇到了sql语句中的limit问题。

查遍网络,所提供的方法都极其麻烦,不利于通用。

以下是我的解决方案,可以与limit媲美。

比如从一个mobileuser 用户表中查询2到6条记录,按照第一次使用时间排序。

mysql语句为:

SELECT userid,password,firstusetime from mobileuser ORDER BY firstusetime DESC limit 2,6;

oracle语句为:

SELECT * FROM ( SELECT userid,password,firstusetime, RANK() OVER (ORDER BY firstusetime DESC ) RN   FROM mobileuser ) WHERE RN between 2 and 6;

rank() over 函数代表排行依据,整个sql语句就是从根据“ORDER BY firstusetime DESC”这个标准,找到排行2到6位的数据。

但是存在一个问题,根据排行依据,有些数据是并列的,这样返回的数据条数就会多于我们期望的。这时我们加一个rownum限制就行了。

SELECT * FROM ( SELECT userid,password,firstusetime, RANK() OVER (ORDER BY firstusetime DESC ) RN   FROM mobileuser ) WHERE RN between 2 and 6 and rownum<=5;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql -n_mysql top n 问题 的相关文章

  • CURL 宏定义列表

    列表CURL库一共有17个函数 curl close 关闭CURL会话 curl copy handle 复制一个CURL会话句柄 同时3复制其所有参数 curl errno 返回最后一个错误码 curl error 返回一个字符串 用以描
  • uboot启动之BL1阶段的分析1

    对uboot启动的BL1阶段的主体代码分析1 BL1阶段代码的分析以start s文件作为主要的目标 此篇博文主要对整个个流程进行分析 总体分析 BL1阶段的代码固化在IROM中的BL0调用执行 在上电之后会会执行 他的主要主要工作就是初始
  • 浮动元素与定位元素的关系

    div class a div div class b div 两种情况 a不浮动 在元素a不浮动的情况下 元素a并没有脱离文档流
  • VS2019-C++创建和调用DLL动态链接库(傻瓜式教程)

    转载地址 前言 查了好久好久网上的资料C 调用动态链接库 试了好多方法 直接创建DLL 空项目创建的 都多多少少有些问题 最后自己不断摸索着成功了 还是很开心的 接下来把最清晰的步骤分享给大家 C 新人 有什么说的不清楚的还请大佬们见谅 第
  • oracle 删除所有外键

    1 执行语句 select alter table table name drop constraint constraint name from user constraints where constraint type R 2 执行第
  • 跨品种套利 - 期货

    1 原理 什么是套利 套利是指在买入或卖出一种金融资产的同时卖出或买入另一种相关的金融资产从中利用价差获得套利的过程 什么是跨品种套利 当两个合约有很强的相关性时 可能存在相似的变动关系 两种合约之间的价差会维持在一定的水平上 当市场出现变
  • 【burpsuite安全练兵场-客户端14】点击劫持-5个实验(全)

    前言 介绍 博主 网络安全领域狂热爱好者 承诺在CSDN永久无偿分享文章 殊荣 CSDN网络安全领域优质创作者 2022年双十一业务安全保卫战 某厂第一名 某厂特邀数字业务安全研究员 edusrc高白帽 vulfocus 攻防世界等平台排名
  • IDEA test程序无法输入 This view is read-only 解决办法

    问题 test程序无法输入 按回车键显示如下 解决办法 在IDEA Help gt Edit Custom VM Options 中添加如下代码 然后重启IDEA即可 Deditable java test console true
  • 5-7 12-24小时制

    编写一个程序 要求用户输入24小时制的时间 然后显示12小时制的时间 输入格式 输入在一行中给出带有中间的 符号 半角的冒号 的24小时制的时间 如12 34表示12点34分 当小时或分钟数小于10时 均没有前导的零 如5 6表示5点零6分
  • python输入10个数求偶数奇数之和_从键盘上输入十个整数,并求出这十个数所有奇数之和及偶数之和。C++编程,要求有do while,w...

    展开全部 include int main int i int num int jishu oushu do while i 0 jishu oushu 0 do scanf d num if num 2 0 oushu num else
  • mysql grouping sets_mysql – PostgreSQL:如何使用GROUPING SETS,CUBE...

    我有以下在MySQL 5 6中编写的代码块 INSERT INTO Totals SELECT Zone State COUNT Sponsored COUNT Enrolled COUNT PickedUp FROM MasterData
  • HTTP头的Expires与Cache-control

    HTTP头的Expires与Cache control HTTP头的Expires与Cache control 1 概念 Cache control用于控制HTTP缓存 在HTTP 1 0中可能部分没实现 仅仅实现了Pragma no ca
  • 零基础学SQL(1):初识数据库与SQL

    零基础学SQL 1 初识数据库与SQL 一 初识数据库 数据库是将大量数据保存起来 通过计算机加工而成的可以 进行高效访问的数据集合 该数据集合称为数据库 Database DB 用来管理数据库的计算机系统称为数据库管理系统 Databas
  • ionic3+angular4 HttpClient封装优化

    背景 众所周知 angular4以后引入的HTTPClient为前端http请求带来了非常大的改进 它支持了与java类似的拦截器机制 通过拦截器 可以方便的对请求进行前置 后置及异常处理 但如果我们需要在不同的项目中使用这个拦截器 且有不
  • pt-online-schema-change添加索引没有反应

    之前使用 pt online schema change添加索引没有问题 如下语句 root ixxxxxx pt online schema change no version check execute alter foreign ke
  • WSL使用技巧 / 虚拟机对比

    WSL使用技巧 虚拟机对比 前言 虚拟机比较 VMware使用技巧 WSL使用技巧 官方文档 工具 安装WSL 基本命令 运行命令 关闭卸载 磁盘管理 导入导出 指定安装路径 前言 本文介绍了VMware和WSL的区别 并详细介绍了WSL的
  • C++中的栈和堆

    由C C 编译的程序占用的内存分为以下几个部分 1 栈区 stack 又编译器自动分配释放 存放函数的参数值 局部变量的值等 其操作方式类似于数据结构的栈 2 堆区 heap 一般是由程序员分配释放 若程序员不释放的话 程序结束时可能由OS
  • linux服务器监控谁改了文件,linux服务器文件监控

    linux服务器文件监控 内容精选 换一换 cd opt dis agent X X X logstail 100f dis agent log显示如下信息 表示Agent正常运行 Agent Startup completed in xx
  • Django简介(二)

    Models 通常 一个model对应数据库的一张数据表 Django中Models以类的形式表现 它包含了一些基本字段以及数据的一些行为 Django将与数据库交互的SQL语句封装起来 而无需开发人员再次编写 ORM object rel

随机推荐

  • vite创建vue3项目方式

    快速创建方式 终端输入 npm init vite latest 然后输入项目名称 选择要创建的框架版本 然后选择需要的脚本语言 最后 npm i初始化 npm run dev启动项目 项目目录如下 页面展示
  • Vue 保存cookie信息 ,用Vue开发完成后使用Hbuilder打包apk 保存登录信息到cookie中

    以下是在vue2开发过程中 保存登录信息时 使用电脑浏览器能获取cookie 但使用Hbuilder打包apk文件时获取不到cookie值的解决办法 第一步 安装 npm install js cookie 如已安装直接忽略 第二步 使用
  • vue.js执行if语句后程序终止甚至后面的else语句也不会执行

    今天因为前端 vue 的一个问题 耽误了几个小时 本想使用if this sciEngineeringChartData 0 0 id null 进行条件判断 但是程序执行到这里后就不再执行了 本来预想着if语句里面的条件不成立会执行els
  • Java解析zip文件,并识别压缩包里面的文件转换成可操作的IO流

    前几天项目遇到一个棘手的问题 批量上传人员的证件照 因为java操作文件夹不好操作 最后决定把存放人员证件照的文件夹压缩成zip文件 通过java去解析 然后把里面的文件转成list集合 这里使用的jdk提供的 java util zip包
  • Python3链接HIVE

    几个必要的pip 如果用anaconda 安装pyhive的时候会附带都给安装上 pip install pyhive pip install thrift pip install sasl pip install thrift compi
  • PyQt输入部件:QKeySequenceEdit快捷键输入部件简介和使用案例

    PyQt输入部件 QKeySequenceEdit快捷键输入部件简介和使用案例 QKeySequenceEdit是PyQt中的一个输入部件 用于接受用户输入的快捷键序列 它提供了一个用户友好的界面 允许用户直接按下键盘上的按键来定义快捷键
  • python web开发笔记--如何采用uwsgi来部署你的Django项目

    接上一文 python web开发笔记 MAC上Django uwsgi构建总结 最近对于采用uwsgi进行成功部署自己的项目已经成功搞定 因此写下这篇博客 这绝对是一篇值得需要的人读的用心好博文 废话不多少 开始正题 1 进入你的项目目录
  • 阿里云STS获取临时授权

    获取阿里云oss授权 public function sts url https sts aliyuncs com action AssumeRole RoleArn rolearn RoleSessionName client Durat
  • STM32-FreeRTOS源码下载及移植步骤(基于Keil)

    FreeROTS源码获取及基于Stm32移植 获取源码 其实找资料没有那么复杂 官网就是最好的地方了 FreeRTOS的官网是 FreeRTOS官网 当然了 这个网站是全英文的 不过没关系 我们可以简单了解一下 如下图 在这个网页里点击左侧
  • 快速安装最新版Burp Suite Professional

    官网下载链接 https portswigger net burp releases JDK 官方下载 https www oracle com java technologies downloads jdk19 windows 一路默认安
  • 文件的流

    一 文件名词解释 文件 是存贮在某种介质上的 如磁盘 磁带等 并具有文件名的一组有序信息的集合 流设备 大多数的字符设备 如键盘 打印机等 传输的信息均由 一组顺序出现的字符序列组成 文件系统 操作系统对系统的软件资源 不论是应用软件和系统
  • IDEA 项目突然出现异常无法启动时的有效解决办法 ...

    解决方法有效的前提是 项目本身是可以正常启动的 但是因为某些原因无法正常启动 原因包括但不限于以下几种 不小心删除了项目中的文件 导致无法启动 项目很久没更新 更新之后 导致无法启动 项目更新之后出现很多报错信息 导致无法启动 通常做法 根
  • 抖音、快手、B站的广告投放原理

    抖音 快手 B站的广告投放原理 文章目录 抖音 快手 B站的广告投放原理 TOC 文章目录 广告投放原理 编者按 本文来自微信公众号 鸟哥笔记 ID niaoge8 节选自 信息流广告入门 作者 宁阿姨 作者写的挺到位的 相互学习 共同进步
  • Unity网络编程之Photon Server(四)

    前言 上篇我们学习了Unity客户端如何和Photon服务器建立连接 这篇是如何与服务器进行数据的交互 惯例 基于上篇的服务器项目MyGameServer Unity客户端项目进行进一步的学习 客户端与服务器交互流程图解 前面我们有谈到 当
  • MySQL语句优化

    文章目录 1 MySQL的执行顺序 2 基础SQL优化 2 1建表优化 使用varchar代替char 使用 数值 代替 字符串 类型 字段设置为not null 批量插入性能提升 2 2查询优化 select 具体字段 避免在where子
  • 关于Adams View Error MSC_LISENSE_FILE=D:\MSC.......证书错误的解决方案

    首先右键我的电脑 gt 属性 gt 高级系统设置 gt 环境变量 gt 变量名字MSC LICENSE FILE 变量值是lisense dat的地址 在上述操作完成后将lisense dat的名字改为lisense lic
  • String部分方法

    package com javahexin hexin public class string public static void main String args String str dadad String str1 str 判断两
  • 第二十章 Spring5.X bean 的⽣命周期和⼆次处理

    1 Spring bean的 命周期 的init和destroy 法 2 bean的 次加 Spring5 x后置处理器 BeanPostProcessor 什么是BeanPostProcessor 是Spring IOC容器给我们提供的
  • Linux 查看各文件夹大小命令du -h --max-depth=1

    Linux 查看各文件夹大小命令du h max depth 1 du abcDhHklmsSx L lt 符号连接 gt X lt 文件 gt block size exclude lt 目录或文件 gt max depth lt 目录层
  • mysql -n_mysql top n 问题

    日常工作中 经常要查询分组的前几名或查询数据的前几条记录 第5条到第十条 等 TOP N分析法就是通过TOP N算法从研究对象中得到所需的N个数据 并从排序列表中选取最大或最小的N个数据 这就是一个TOP N算法 mysql中用limit