当前位置: 首页 > news >正文

网站开发资质软件开发专业信息

网站开发资质,软件开发专业信息,wordpress 在线pdf,软件工程专业招聘网站其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、根据 camp_status 字段分为 6 种情况 1.1 SQL语句 1.2 SQL解释 二、分页 SQL 实现 2.1 SQL语句 2.2 根据 camp_type 区分返… 其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、根据 camp_status 字段分为 6 种情况 1.1 SQL语句 1.2 SQL解释 二、分页 SQL 实现 2.1 SQL语句 2.2 根据 camp_type 区分返回字段 2.3 根据 camp_status 字段分为 6 种情况 三、分页实现 四、总结 前言 在处理数据库查询时分页是一个常见的需求。 尤其是在处理大量数据时一次性返回所有结果可能会导致性能问题。 因此我们需要使用分页查询来限制返回的结果数量。同时根据特定的条件筛选数据也是非常常见的需求。 在本博客中我们将探讨如何根据 camp_status 字段分为 6 种情况进行分页查询并根据  camp_type 字段区分活动类型返回不同的字段。 我们将使用 SQL 变量来实现这一功能并通过示例进行详细解释。 一、根据 camp_status 字段分为 6 种情况 1.1 SQL语句 要将分页结果按 6 种情况来区分。 SQL如下 SELECT count(*) AS allCampCount,SUM(CASE WHEN CAMP_STATUS IN (31, 32, 35, 55) THEN 1 ELSE 0 END) AS approvalCampCount,SUM(CASE WHEN CAMP_STATUS IN (40, 41, 56) THEN 1 ELSE 0 END) AS toExecuteCampCount,SUM(CASE WHEN CAMP_STATUS IN (42, 66, 67) THEN 1 ELSE 0 END) AS executeCampCount,SUM(CASE WHEN CAMP_STATUS IN (50, 60) THEN 1 ELSE 0 END) AS completeCampCount,SUM(CASE WHEN CAMP_STATUS IN (30) THEN 1 ELSE 0 END) AS overruleCampCountFROM BMA_MARKET_CAMPWHERE USER_ID #{userId} 1.2 SQL解释 这是一个SQL查询用于从名为BMA_MARKET_CAMP的表中选择和计算数据。下面是对这个查询的逐行解释 SELECT count(*) AS allCampCount: 这一行计算了BMA_MARKET_CAMP表中的总记录数并将这个数量命名为allCampCount。SUM(CASE WHEN CAMP_STATUS IN (31, 32, 35, 55) THEN 1 ELSE 0 END) AS approvalCampCount: 这一行计算了CAMP_STATUS字段值为31, 32, 35, 或 55的总数并将这个数量命名为approvalCampCount。这些状态可能是表示“待批准”或“正在批准”的状态代码。SUM(CASE WHEN CAMP_STATUS IN (40, 41, 56) THEN 1 ELSE 0 END) AS toExecuteCampCount: 这一行计算了CAMP_STATUS字段值为40, 41, 或 56的总数并将这个数量命名为toExecuteCampCount。这些状态可能是表示“待执行”或“即将执行”的状态代码。SUM(CASE WHEN CAMP_STATUS IN (42, 66, 67) THEN 1 ELSE 0 END) AS executeCampCount: 这一行计算了CAMP_STATUS字段值为42, 66, 或 67的总数并将这个数量命名为executeCampCount。这些状态可能是表示“正在执行”或“已执行”的状态代码。SUM(CASE WHEN CAMP_STATUS IN (50, 60) THEN 1 ELSE 0 END) AS completeCampCount: 这一行计算了CAMP_STATUS字段值为50或60的总数并将这个数量命名为completeCampCount。这些状态可能是表示“已完成”或“完全完成”的状态代码。SUM(CASE WHEN CAMP_STATUS IN (30) THEN 1 ELSE 0 END) AS overruleCampCount: 这一行计算了CAMP_STATUS字段值为30的总数并将这个数量命名为overruleCampCount。这个状态可能是表示“已否决”或“推翻”的状态代码。FROM BMA_MARKET_CAMP WHERE USER_ID #{userId}: 最后指定了数据来源的表是BMA_MARKET_CAMP并且只选择那些USER_ID字段等于给定参数#{userId}的记录。 总的来说这个查询是为了获取与特定用户相关的各种 camp 状态的数量。 二、分页 SQL 实现 2.1 SQL语句 这是整个 SQL 语句下面会细细讲解 SQL如下 SELECT TOUCH_TYPE,t1.CAMP_TYPE,NAME,SMS_CONTENT,CASEWHEN t1.CAMP_TYPE 0 THENNULLELSESTART_DATE END AS START_DATE,CASEWHEN t1.CAMP_TYPE 0 THENEXE_START_TIMEELSESTART_TIME END AS START_TIME,CASEWHEN t1.CAMP_TYPE 0 THENNULLELSEEND_DATE END AS END_DATE,CASEWHEN t1.CAMP_TYPE 0 THENNULLELSEEND_TIME END AS END_TIMEFROM CAMP t1left join CAMP_INFO t2 on t1.ID t2.CAMP_IDWHERE CAMP_STATUS inforeach close) collectioncampStatus itemcampStatus open( separator, #{campStatus,jdbcTypeVARCHAR}/foreachAND USER_ID #{userId} 2.2 根据 camp_type 区分返回字段 当活动类型为 0 时只需要返回 EXE_STRAR_TIME 字段。其他的活动类型要返回 START_DATE  START_TIME  END_DATE  END_TIME 四个字段。 SQL部分如下 CASEWHEN t1.CAMP_TYPE 0 THENNULLELSESTART_DATE END AS START_DATE,CASEWHEN t1.CAMP_TYPE 0 THENEXE_START_TIMEELSESTART_TIME END AS START_TIME,CASEWHEN t1.CAMP_TYPE 0 THENNULLELSEEND_DATE END AS END_DATE,CASEWHEN t1.CAMP_TYPE 0 THENNULLELSEEND_TIME END AS END_TIME 2.3 根据 camp_status 字段分为 6 种情况 解释如下 WHERE CAMP_STATUS in: 这表示我们要在SQL查询中添加一个条件即CAMP_STATUS的值必须在给定的列表中。foreach ...: 这是MyBatis的循环语句用于遍历集合或数组并动态生成SQL的部分内容。collectioncampStatus: 这表示我们要遍历的集合或数组的名称是campStatus。itemcampStatus: 在每次循环中当前的元素值会被赋值给名为campStatus的变量。open( 和 close): 这些指示MyBatis在循环开始前添加一个左括号(并在循环结束后添加一个右括号)。separator, : 这表示在每次循环后我们添加一个逗号,和一个空格。#{campStatus,jdbcTypeVARCHAR}: 这是MyBatis的参数占位符。它表示我们要将当前循环中的campStatus变量的值插入到SQL查询中。jdbcTypeVARCHAR指定了参数的类型这里假设它是VARCHAR类型。 综上所述这个片段的作用是动态生成一个SQL查询的条件该条件检查CAMP_STATUS是否在给定的campStatus列表中。 SQL部分如下 SELECT ...FROM ...WHERE CAMP_STATUS inforeach close) collectioncampStatus itemcampStatus open( separator, #{campStatus,jdbcTypeVARCHAR}/foreach... 这里传入的是一个 list这样传入即可 定义一个请求类 Data public class CampDataInfoInIndexRequest {ListInteger campStatusList;private int pageNum;private int pageSize; } 三、分页实现 实现一个 PageUtils 。 代码如下 public class PageUtils {/*** 泛型方法 进行结果的分页* 当pageNum*pageSizeresult.size那么就取result的最后一页数据* 否则就取相应页的数据** param result* param pageNum* param pageSize* return*/public static T ListT pageResult(ListT result, Integer pageNum, Integer pageSize) {if (Objects.isNull(result) || result.size() 0) {return result;}int maxSize result.size();if (maxSize pageNum * pageSize pageSize) {int maxPage maxSize / pageSize;return result.subList(maxPage * pageSize, result.size());}return result.subList(pageNum * pageSize, (pageNum 1) * pageSize);} } 再通过一个 PageResultVO 返回即可。 代码如下 Data public class PageResultVO {private Integer total;private List? list; }//ServiceImpl层 ListCampInfoVO infoList PageUtils.pageResult(info, pageNum, pageSize); PageResultVO pageResultVO new PageResultVO(); pageResultVO.setTotal(info.size()); pageResultVO.setList(infoList);四、总结 在这篇博客中我们探讨了如何使用SQL实现分页查询并根据camp_status和camp_type字段进行筛选。 通过使用变量和适当的SQL语法我们可以根据特定的条件动态地构建查询从而返回满足我们需求的结果。 通过这种方式我们可以灵活地构建和执行查询以满足不同的需求。这对于处理大量数据和实现复杂的筛选条件非常有用。 希望这篇博客能帮助你更好地理解和应用SQL分页查询和筛选功能
http://www.tj-hxxt.cn/news/140510.html

相关文章:

  • 东营建网站公司wordpress多重标签
  • 博客的网站页面设计2008 iis配置网站
  • 拓和科技有限公司网站百度一下百度首页官网
  • 怎样自己做免费网站青岛专业做网站的
  • 多种手机网站建设如何做网站路径分析
  • 提供做网站服务好贵州中航建设集团网站
  • 建设监理协会官方网站多少钱一斤怎么算
  • 上海浦东新区科技网站建设做网站比较好的数字
  • jquery代码做的网站wordpress中目录如何表示
  • 用什么网站做框架图河南省住房和城乡建设厅查询网站首页
  • asp.net做网站的流程网站后台功能需求文档
  • 西安做网站-西安网站建设-西安网站制作-西安网络公司_千秋网络外贸网站dns
  • 如何加强旅游电子商务网站的建设代账会计在哪里找
  • 网站制作公司怎么赚钱网站建设多久可以建成
  • 四川有那些网站建设公司1个空间做两个网站
  • 专业的赣州网站建设网站怎么屏蔽ip访问
  • 网站建设服务费进入什么科目婚庆公司收费标准价目一览表
  • 电子商务网站建设需要多少钱网站建设开发语言和使用工具
  • 网站开发技术html二级网页打不开是什么原因
  • 临汾网站开发不让在建设门户网站
  • 呼伦贝尔做网站公司恩施网站建设xiduyun
  • 个人性质的网站备案容易查wordpress营销插件
  • html5网站强制横屏重庆奉节网站建设公司哪家好
  • 网站内部服务器错误wordpress极慢
  • 电子商务的门户网站阿里云注册域名流程
  • 网站你应该知道我说的是什么吧建设外贸网站注意什么
  • 网站建设 加强宣传做做做做网站
  • 网站建设多少钱 知乎杭州做网站好的公司
  • 长宁区网站制作设计国际网站怎么进
  • 中国和住房城乡建设部网站首页未来做那些网站致富