整理几个常用的sql和其他代码

简介: 整理几个常用的sql和其他代码

常用的几个sql整理


1.按照日期统计今天的客流信息。

SELECT * FROM base_disanfang 
WHERE DATE_FORMAT(create_time,'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d')


其中base_disanfang为表名,create_time日期的字段名。


还有另外一种写法,查询速度比较快点儿。

SELECT * FROM base_disanfang WHERE DATE(create_time) = CURDATE()


2.按照日期统计本月的客流信息。

1. SELECT * FROM buss_flow_list
2.     WHERE DATE_FORMAT(TIME,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m')


其中buss_flow_list为表名,TIME日期的字段名。


3.按照日期统计今年的客流信息。

1. SELECT * FROM base_month_flow
2.     WHERE DATE_FORMAT(TIME,'%Y') = DATE_FORMAT(NOW(),'%Y')


其中base_month_flow为表名,TIME日期的字段名。


4.上月低免地区的客流量

 

SELECT * FROM base_month_flow
        WHERE DATE_FORMAT(TIME,'%Y-%m') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m')
        AND state_id = 1;



其中base_month_flow为表名,TIME日期的字段名,state_id区分是否为抵免地区。


这几个sql都是对日期进行处理比较常用的,sql写好了就无需在代码中做过多的操作。



其他注意事项


1.如果数据返回的是Long类型,则在mybatis的配置文件中需要注意resultType的类型为java.lang.Long,如下:


xml文件:

<!--根据场馆编号查询当月的客流信息-->
    <select id="getMonthsKeLiu"  resultType="java.lang.Long">
        SELECT SUM(in_count) FROM buss_flow_list
        WHERE DATE_FORMAT(TIME,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m')
          AND  dept_id = #{deptId}
          AND state_id = #{stateId}
    </select>


接口:

/**
     * 根据场馆编号查询本月的客流量
     * @param deptId  场馆编号
     * @param stateId  是否为抵免地区,0:全部  1:低免地区
     * @return
     */
    public Long getMonthsKeLiu(@Param("deptId") Long deptId,@Param("stateId") Integer stateId);


2.如果查询的返回数据未null或者空的时候,则需要判断,代码如下:

/**
     * 根据场馆编号获取场馆信息
     * @param deptId
     * @return
     */
    @GetMapping(value = "/getDeptDetails/{deptId}")
    public AjaxResult getDeptDetails(@PathVariable(value = "deptId", required = false)  Long deptId)
    {
        SysDeptVo deptVo = new SysDeptVo();
        //获取本日的客流量  null就是0,否则就是查出来的值
        Long days_all = baseDisanfangService.getDaysKeLiu(deptId)==null? 0:baseDisanfangService.getDaysKeLiu(deptId);
        //获取本月的客流(全部)
        Long months_all = bussFlowListService.getMonthsKeLiu(deptId,0)==null?0:bussFlowListService.getMonthsKeLiu(deptId,0);
        //获取本年的总客流(全部)--今年所有月+本月的
        Long years_all =(baseMonthFlowService.getYearsKeLiu(deptId,0)==null?0:baseMonthFlowService.getYearsKeLiu(deptId,0))+months_all;
        //获取总客流(全部的)--所有月的加上本月的
        Long total_all = (baseMonthFlowService.getTotalKeLiu(deptId,0)==null?0:baseMonthFlowService.getTotalKeLiu(deptId,0))+months_all;
        //获取上月低免客流
        Long top_month_dimian = baseMonthFlowService.getTopMonthDiMianKeLiu(deptId,1)==null?0:baseMonthFlowService.getTopMonthDiMianKeLiu(deptId,1);
        //获取本月的低免客流
        Long month_dimian = bussFlowListService.getMonthsKeLiu(deptId,1)==null?0:bussFlowListService.getMonthsKeLiu(deptId,1);
        //获取本年的低免客流---所有月的加上本月的
        Long year_dimian =(baseMonthFlowService.getYearsKeLiu(deptId,0)==null?0:baseMonthFlowService.getYearsKeLiu(deptId,0))+month_dimian;
        //获取低免的总客流---所有月的加上本月的
        Long total_dimian = (baseMonthFlowService.getTotalKeLiu(deptId,1)==null?0:baseMonthFlowService.getTotalKeLiu(deptId,1))+month_dimian;
        //都放在VO里面
        //获取场馆对象
        deptVo.setSysDept(deptService.selectDeptById(deptId));
        deptVo.setDaysKeLiu(days_all);
        deptVo.setMonthKeLiu(months_all);
        deptVo.setYearKeLiu(years_all);
        deptVo.setTotalKeLiu(total_all);
        deptVo.setTopMonthDiMianKeLiu(top_month_dimian);
        deptVo.setYearDiMianKeLiu(year_dimian);
        deptVo.setTotalDiMianKeLiu(total_dimian);
        return AjaxResult.success(deptVo);
    }


最后的效果如下所示:

a9c4f9b106d157c0be1251994d10a356.png

目录
相关文章
拿php写个原生增删改查案例出来(提供全部代码+sql)
拿php写个原生增删改查案例出来(提供全部代码+sql)
拿php写个原生增删改查案例出来(提供全部代码+sql)
|
4月前
|
SQL Java 流计算
Flink CDC在代码里面集成cdc的时候,是不是也要用上面这个胖包flink-sql-connector-mysql-cdc,不要去用瘦包flink-connector-mysql-cdc? com.ververica flink-sql-connector-mysql-cdc 2.4.0
Flink CDC在代码里面集成cdc的时候,是不是也要用上面这个胖包flink-sql-connector-mysql-cdc,不要去用瘦包flink-connector-mysql-cdc? com.ververica flink-sql-connector-mysql-cdc 2.4.0
51 1
|
2月前
|
SQL 数据库
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
23 0
|
29天前
|
SQL XML Java
整理几个常用的sql和其他代码
整理几个常用的sql和其他代码
11 1
|
2月前
|
SQL Java 关系型数据库
Flink SQL 问题之用代码执行报错如何解决
Flink SQL报错通常指在使用Apache Flink的SQL接口执行数据处理任务时遇到的问题;本合集将收集常见的Flink SQL报错情况及其解决方法,帮助用户迅速恢复数据处理流程。
107 6
|
2月前
|
SQL 关系型数据库 MySQL
MySQL日期函数的SQL代码示例和使用场景
MySQL日期函数的SQL代码示例和使用场景
24 0
|
3月前
|
SQL Kubernetes 调度
DataphinV3.14 Flink SQL任务支持基于Session集群调试,模拟生产代码逻辑的调试效果
实时研发一直以来的都是通过local-debug的方式来调试开发中的Flink SQL任务,该方式有如下不足: 1. 支持的采样数据有限,且非是流式数据的调试。 2. 手动上传构造数据的方式较为繁琐,局限性较大。 为便于Flink SQL任务的调试,DataphinV3.14版本支持Flink SQL任务基于Session集群调试,期望做到像离线即席查询般方便地获取实时任务的输出结果,方便用户对线上的真实数据进行代码逻辑上的调试。
|
3月前
|
SQL 存储 监控
公司内部电脑监控软件的数据库管理:SQL代码实践
随着科技的飞速发展,公司内部电脑监控软件在保障信息安全和提高员工生产效率方面发挥着重要作用。本文将深入探讨监控软件的数据库管理,并通过SQL代码实践展示其操作和优化方法。
300 0
|
4月前
|
SQL 数据采集 Java
Java【代码分享 02】商品全部分类数据获取(建表语句+Jar包依赖+树结构封装+获取及解析源代码)包含csv和sql格式数据下载可用
Java【代码分享 02】商品全部分类数据获取(建表语句+Jar包依赖+树结构封装+获取及解析源代码)包含csv和sql格式数据下载可用
41 0
|
4月前
|
Oracle Java 关系型数据库
Generator【SpringBoot集成】代码生成+knife4j接口文档(2种模板设置、逻辑删除、字段填充 含代码粘贴可用)保姆级教程(注意事项+建表SQL+代码生成类封装+测试类)
Generator【SpringBoot集成】代码生成+knife4j接口文档(2种模板设置、逻辑删除、字段填充 含代码粘贴可用)保姆级教程(注意事项+建表SQL+代码生成类封装+测试类)
28 0