首页 > 其他分享 >分页与分步

分页与分步

时间:2023-11-18 17:14:29浏览次数:36  
标签:遍历 分页 List reports id 分步 event page

分步

需求

需要写一个接口,输入是一组id,返回根据id获取到的event,并且要对event进行判定,如果在它之前该event已经出现过了则给定状态为0,否则为1

该题的问题在于,要对同一批次进行过滤,即同批次如果也出现了相同的event,给定一个event为1就可以了,其他为0。之前的思路老是想到随机取一个,没有想过遍历

思路

去遍历这组id,如果event第一次出现的话那肯定就是最早的给定为1,同批次后来的肯定就是0了,这样回避了同批次的问题,也兼顾了历史数据的问题。根据是否为第一次出现的时间去判定状态,需要用到两组SQL。(要记住是可以这样写的)

通过两层循环,第一层遍历taskId,第二层遍历id获取到的crash

// 1. 遍历id获取event
List<Map<String, Object>> list = mtbfMapper.getBtpCrashByTaskid(request); // 获取 id, event, triggerTime
// 2. 判定有无之前的记录
int count=mtbfMapper.getBtpCrashIdCountBeforeTime(map); // SELECT COUNT(1) FROM table where event = #{event} and #{triggerTime}>triggerTime
// 3. 设置状态
if(count > 1) {
    ...
} else {
    ...
}

分页

需求

分页+总数

需要给出记录总条数并且一次性返回部分数据,根据页码和设置的条数

思路一

LIMIT和OFFSET,需要再通过一个SQL来返回total。

思路二

一次性返回所有结果,通过一个新的对象来存储返回的部分数据(根据偏移量和条数来确定)

List<Map<String, Object>> reports=bvpMapper.getReports(params);
List<Map<String, Object>> subList = reports.subList((page-1)*limit,page*limit>reports.size()?reports.size():page*limit);

List.subList()方法,该方法接收两个参数,一个是开始索引(包含),另一个是结束索引(不包含)。

标签:遍历,分页,List,reports,id,分步,event,page
From: https://www.cnblogs.com/xccx-0824/p/17840740.html

相关文章

  • javascript 自定义分页组件
    仿boostrap前端分页组件的实现一 写一个前端自定义分页组件,需要考虑以下问题  /*     需要一个<ul id="pagination"></ul>标签   total; // 总数据的数量   pageSize; // 一页显示数量   pageIndex; // 当前页   */ 二实现细节编写html......
  • Mac postman调分页接口,导出csv
    准备后端接口packagecom.ybchen.controller;importcom.ybchen.utils.JsonData;importlombok.Data;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.a......
  • element中select组件加入滚动分页及模糊查询
    element中select组件加入滚动分页及模糊查询1.directive.js-自定义vue指令importVuefrom'vue'exportdefault()=>{Vue.directive('loadMore',{bind(el,binding){//如上图,我通过v-if来控制了两个select框,当没有binding.arg这个参数时,我只能监听到企......
  • 【ElasticSearch】突破深度分页数据限制的方案
    一、场景需求最近在忙一个新的项目,数据源是ES,但是功能就是对文档进行翻页查询ES提供了分页查询,就是from+size深度查找,但是使用有限制,只能在1万条内 我和同事的意见是1万条之后的数据没有任何意义,就限制1万吧但是后面内部测试后产品对这个方案是不满意的,既要又要所以ES现......
  • Eclipse安装中文语言包导致部分页面功能和工作区域无法加载或使用的解决办法
    Eclipse安装中文语言包插件(eclipse菜单栏:“Help”—>“InstallNewSoftware”)出现:“Welcome”页面无法加载,“TaskList”“Outline”等工作区无法使用等情况。针对这种情况,需要卸载安装的中文语言包插件。具体步骤为:eclipse菜单栏—>“帮......
  • element plus -- el-table 中分页选中回显
    需求:切换分页或者根据筛选条件过滤后选中项依然保持选中状态代码:<el-rowclass="pro-list-container"><el-table:data="productAttrs"ref="multipleTable"class="pro-table":header-cell-style="{backgrou......
  • 如何在 Python 中执行 MySQL 结果限制和分页查询
    PythonMySQL限制结果限制结果数量示例1:获取您自己的Python服务器选择"customers"表中的前5条记录:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="您的用户名",password="您的密码",database="我的数据库"......
  • 如何在 Python 中执行 MySQL 结果限制和分页查询
    PythonMySQL限制结果限制结果数量示例1:获取您自己的Python服务器选择"customers"表中的前5条记录:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="您的用户名",password="您的密码",database="我的数据库"......
  • Delphi TNetHTTPClient使用递归方式取所有分页数据
    DelphiTNetHTTPClient使用递归方式取所有分页数据   业务系统提供的一个查询数据接口,可以通过分页方式取得数据,如果一次性取得所有数据,将页大小增大即可,但如果数据太多怕会造成内存溢出。   综合考虑每次只取一个分页,分页数据不要太大,用递归方式来获取是比较合理的解......
  • 如何在 Python 中执行 MySQL 结果限制和分页查询
    PythonMySQL限制结果限制结果数量示例1:获取您自己的Python服务器选择"customers"表中的前5条记录:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="您的用户名",password="您的密码",database="我的数据库"......