精华内容
下载资源
问答
  • JQuery EasyUI 发送两次请求

    千次阅读 2015-12-28 22:08:41
    ajax次点击发送两次请求 或者是 按钮连击造成的问题,然后测试了一大圈有上网了搜了好多帖子后才发现想的 简单了。 自己查看之下发现左侧生成菜单是组超链接,在无双击的情况下似乎并无可能会发送两次连接, 如...

    开发环境:S2SH + JQuery EasyUI  1.3.2 

    前一段发现了一个问题,每次点击左侧菜单打开右侧页面的时候,后台都会接收到两次请求,一开始以为是

    ajax一次点击发送两次请求 或者是 按钮连击造成的问题,然后测试了一大圈有上网了搜了好多帖子后才发现想的

    简单了。

    自己查看之下发现左侧生成菜单是一组超链接,在无双击的情况下似乎并无可能会发送两次连接,

    如下图:


    至此本人暂时无可奈何了,直到之后有一天无意间发现后台显示信息正常,赶紧从SVN服务器上Down下代码

    比对,才发现一次在修改界面中大意之下把

    class="easyui-datagrid"

    删除了,于是上网搜索资料,才发现原来是EasyUI解析的问题,因为html代码中利用class声明了datagrid,导致EasyUI解析class代码的时候先解析class声明中的datagrid,这样组件就请求了一次url;然后我又在加载的js的时候自动请求了一次url。这样就导致了重复发送了两次加载请求,解决的方法就是只用一种初始化方法来声明EasyUI组件以避免重复的提交请求。

    第一种:删除Js中的数据加载请求,改为在jsp页面,修改后的代码如下:

    <table id="tableDataGrid" <span style="font-size: 18px; white-space: pre;">class="easyui-datagrid"</span> fit="true" title="" style="width:auto;height:auto"
    		data-options="<span style="color:#ff0000;">url:'请求加载url'</span>,loadMsg:'正在加载列表,请稍等 ... ',iconCls: 'icon-edit',rownumbers:true,singleSelect: true,
                	method: 'get', pagination:true,pageList:[20,50,100],pageSize:20">
    </table>

    第二种:删除Jsp页面中的<table>的class声明(class="easyui-datagrid"),修改后的代码如下:

    <table id="tableDataGrid" fit="true" title="" style="width:auto;height:auto"
    		data-options="loadMsg:'正在加载列表,请稍等 ... ',iconCls: 'icon-edit',rownumbers:true,singleSelect: true,
                	method: 'get', pagination:true,pageList:[20,50,100],pageSize:20">
    </table>
    参考: 点击打开链接

    展开全文
  • 时针分针一天到底重合多少

    千次阅读 2019-08-19 21:43:14
    在面试之中,除了技术面试以了解候选人的技术水平,有时还会有一些类似于脑筋急转弯的趣味题,来考察候选人的反应能力和思维能力等。今天我们就来分析一下下面这个问题:时针分针一天重合多少?这显...

    在面试之中,除了技术面试以了解候选人的技术水平,有时还会有一些类似于脑筋急转弯的趣味题,来考察候选人的反应能力和思维能力等。今天我们就来分析一下下面这个问题:

    时针分针一天重合多少次?

    这显然是一个追及问题,时针跑得慢,分针跑得快,问题等价于在一天24小时的时间内,分针能够追上时针的次数是多少?

    不论是时针还是分针都在表盘内按角度均匀转动的,一个很自然的想法就是比较时针和分针的转动速度。以分钟为单位,分针每分钟转动1/60*360=6度,时钟每分钟转动1/60/12*360=0.5度。

    分针要追上时针,需要比时钟多跑圈数。超过一圈需要时间360/(6-0.5)分钟,一天总共有24小时,那么总共重合24*60/(360/6-0..5) = 22次。

    我们也可以通过代码来将这些重合时间进行计算并显示出来。

    def hour_minute_meet():
        for i in range(1,12):
            meet_time=i*60/(minute_hand_velo-hour_hand_velo)
            print(time.strftime("%H:%M:%S", time.gmtime(meet_time)))
        
    
    
    import time   
            
    if __name__=='__main__':
        
        second_hand_velo=1        
        minute_hand_velo=1/60
        hour_hand_velo=1/60/12
        hour_minute_meet()
    

    上述代码有几个需要解释的地方,将计算单位换算成了秒,即秒针一秒转一度,分针一秒转1/60度,时针一秒转1/60/12度。这样可以将时间具体到秒展示出来。表盘上显示了12个小时,分针转一圈便是一个小时。追及方法同上述。

    这样我们可以得到半天的时针分针相遇时间。那么问题也可以升级一下:

    时针分针秒针一天重合多少次?

    这个三针重合问题我们可以在第一个问题的基础上进一步分析,即在时针分针重合的情况下看秒针的位置是否和时针分针一致。显然只有在12点整的时候,12:00:00 有三针重合的情况,也就是一天之内两个12点整会出现三针重合的现象~

    展开全文
  • 判断是否为同一天 日期格式化 给日期加上指定时长 得到指定时间节点的Date 1、时间戳转Date 注:以下的方法中很多常量和方法我都没有提取出来,正式项目中还是建议大家封装在时间处理类中,规范化操作 public...

    项目经常涉及到时间戳和Date类型的相互转换、时间类型处理等,我有时候一段时间不写就又忘记了,故而写篇笔记备忘下!

    本文主要包含的有:

    1. 时间戳与Date类型的相互转换
    2. 判断是否为同一天
    3. 日期格式化
    4. 给日期加上指定时长
    5. 得到指定时间节点的Date

    1、时间戳转Date

    注:以下的方法中很多常量和方法我都没有提取出来,正式项目中还是建议大家封装在时间处理类中,规范化操作

    public static void main(String[] args) {
        // 10位的秒级别的时间戳
        long time1 = 1527767665;
        String result1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time1 * 1000));
        System.out.println("10位数的时间戳(秒)--->Date:" + result1);
        Date date1 = new Date(time1*1000);   //对应的就是时间戳对应的Date
        // 13位的秒级别的时间戳
        double time2 = 1515730332000d;
        String result2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time2);
        System.out.println("13位数的时间戳(毫秒)--->Date:" + result2);
    }
    10位数的时间戳(秒)--->Date:2018-05-31 19:54:25
    13位数的时间戳(毫秒)--->Date:2018-01-12 12:12:12

    尤其要注意上面10位的秒级别的时间戳时,不能用int来定义time1变量,否则会得到错误的结果:

    public static void main(String[] args) {
        // 10位的秒级别的时间戳   
        int time1 = 1527767665;   //错误做法
        String result1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time1 * 1000));
        System.out.println("10位数的时间戳(秒)--->Date:" + result1);
    }
    10位数的时间戳(秒)--->Date:1969-12-17 23:21:47

    2、Date转时间戳

    public static void main(String[] args) {
        //获取指定时间的时间戳,除以1000说明得到的是秒级别的时间戳(10位)
        long time = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).parse("2018-06-30 20:00:00", new ParsePosition(0)).getTime() / 1000;
    
        //获取时间戳
        long now1 = System.currentTimeMillis();
        long now2 = new Date().getTime();
    
        System.out.println("获取指定时间的时间戳:" + time);
        System.out.println("当前时间戳:" +now1);
        System.out.println("当前时间戳:" +now2);
    }
    获取指定时间的时间戳:1530360000
    当前时间戳:1527769494340
    当前时间戳:1527769494340

    3、格式化Date

    public static void main(String[] args) {
        //使用common-lang包下面的DateFormatUtils类
        String format1 = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
        //使用最原始的SimpleDateFormat类
        String format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
    
        System.out.println("格式化时间1:" + format1);
        System.out.println("格式化时间2:" + format2);
    }
    格式化时间1:2018-05-31 20:26:49
    格式化时间2:2018-05-31 20:26:49

    DateFormatUtils是commons.lang3.time.DateFormatUtils下的,如果你的项目中没有,maven中引入下:

    <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
       <version>3.6</version>
    </dependency>

    4、给日期加上指定时长

    比如,给现在的时间加上12个小时,这个需求也很常见,例如我做过的某个秒杀接口要返回剩余秒杀时间给前端,那么我就直接计算(比如秒杀持续时间为12小时):秒杀(倒计时)截止时间=(当前时间+12H)即可。

    public static void main(String[] args) {
        //将指定日期加上固定时间,DateUtils还有其它添加分钟、小时、月份之类的方法api
        //使用到的是commons-lang包下面的DateUitls类
        Date date = DateUtils.addDays(new Date(), 10);   //
        System.out.println("当前时间为:"+DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
        String format = DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss");
        System.out.println("当前时间加上10天后:" + format);
    }
    当前时间为:2018-05-31 20:31:53
    当前时间加上10天后:2018-06-10 20:31:53

    DateUtils也是commons.lang3.time包下的,别忘了加maven依赖。


    5、得到指定时间节点的日期时间

    方式一:

        public static void main(String[] args) throws ParseException {
            //得到指定日期
            String date = "2018-03-03 15:20:12";
            Date parse = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date);
            System.out.println(parse);
        }

    方式二:

        /**
         * 获取当天的YYYY-MM-dd 00:00:01 时间点的毫秒级时间戳
         *
         * @return
         */
        public static Long getCurrentBeginDate() {
            Calendar cal = Calendar.getInstance();
            cal.set(Calendar.HOUR_OF_DAY, 0);//控制时
            cal.set(Calendar.MINUTE, 0);//控制分
            cal.set(Calendar.SECOND, 1);//控制秒
            return cal.getTimeInMillis();
        }

    6、判断两个时间点是否为同一天、同一年

    给定两个日期,快速判断两者是否为同一天或者同一年,比如我做过的一个接口需求是:每人每天有一次抽奖机会,那么当用户当天第二次发送请求时候,我就得判断查询参与记录,并且判断最新一次参与时间和当天是否为同一天。

        /**
         * 判断是否为同一天:使用commons-lang包下的DateUtils类
         *
         * @param day1
         * @param day2
         * @return
         */
        public boolean isSameDay(Date day1, Date day2) {
            return DateUtils.isSameDay(day1, day2);
        }
    
        /**
         * 判断是否为同一天:使用joda依赖包里的时间类,效率从一定程度上优于DateUtils.isSameDay()方法
         *
         * @param date1
         * @param date2
         * @return
         */
        public static boolean isSameDay1(Date date1,Date date2){
            if(date1==null || date2==null){
                throw new IllegalArgumentException("date must be not null");
            }
            LocalDate localDate1 = new LocalDate(new DateTime(date1.getTime()));
            LocalDate localDate2 = new LocalDate(new DateTime(date2.getTime()));
            return localDate1.equals(localDate2);
        }

    基本上涉及到时间的处理就这么多了,希望对你有参考帮助!


    books 引申阅读: 使用quartz实现高级定制化定时任务(包含管理界面)

    books 推荐阅读:elastic search搜索引擎实战demo:https://github.com/simonsfan/springboot-quartz-demo,分支:feature_es

    展开全文
  • 假设你有一个数组,里面记录的是每一天的股票的价格。 设计一个算法来计算最大收益。你至多可以完成两次交易

    ##原题地址
    https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/

    题目描述

    Say you have an array for which the ith element is the price of a given stock on day i.
    假设你有一个数组,里面记录的是每一天的股票的价格。

    Design an algorithm to find the maximum profit. You may complete at most two transactions.
    设计一个算法来计算最大收益。你至多可以完成两次交易。

    解题思路

    这个题跟121Best Time to Buy and Sell Stock 单次买卖股票最大收益 122Best Time to Buy and Sell Stock II 不限次数买卖股票最大收益

    这个题可以借鉴第一个题目中的思路。这个题是一个动态规划的题目。我们假设将1-n天分为1-day,day-n两部分,然后我们分别在两部分中至多进行一次交易获得两部分的最大值,将两部分加在一起就是一个待选的最大收益,day可以取1,2,…,n,所以会得到n个后选值,在候选值中选出最大的一个就是最大收益。借鉴121中计算最大收益的方法,我们可以在第一次遍历中计算1-day的最大收益formmer[n],第二遍历时计算day-n的最大收益latter[n],最后再遍历一次得到最大收益max。

    公式:

    max=max<formmer[i]+latter[i]?fommer[i]+latter[i]:max

    这里需要说明的是,如果formmer[i]和latter[i]的值在计算的时候都用到了第i天的价格,即第i天卖出了股票才的到了formmer[i],第i天买入了股票才得到了latter[i],也并不妨碍我们的计算,因为这就相当于第i天没有买入和卖出,即所有时间内只进行了以此买卖,而不是两次。

    ps: 2015年小米春季实习生招聘在线笔试第二题就是这个题,不过当时我没刷这个题,但是还是做出来啦~


    发现一个更牛逼的方法,时间复杂度O(n),空间复杂度O(1)。

    博文 http://blog.csdn.net/u012501459/article/details/46514309 中的解法二。

    最原始贴:https://leetcode.com/discuss/18330/is-it-best-solution-with-o-n-o-1

    2015/8/12更新

    算法描述

    1. 遍历,计算出第x天之前一次交易可以得到的最大收益,存储在formmer[n]中
    2. 遍历,计算出第x天之后一次交易可以得到的最大收益,存储在latter[n]中
    3. 遍历,计算formmer[i] + latter[i] 得到最大收益max

    代码 C

    /**
     * 计算最大收益
     * @param prices : 每日价格
     * @param pricesDize : 数据规模
     * @return : 最大收益 
     * @note : 至多进行两次买卖
     */
    int maxProfit(int* prices, int pricesSize) {
        /* 如果价格数据为空或只有一个数据,返回0  */
        if (pricesSize <= 1) return 0;
    
        int *maxProfitDuringFormmerDays = (int *)malloc(sizeof(int) * pricesSize),
            *maxProfitDuringLatterDays = (int *)malloc(sizeof(int) * pricesSize);
    
        int day, diff, minPrice, maxPrice, maxProfit;
    
        /* 计算某一天极其之前所有时间内的最大利益  */
        minPrice = *prices; 
        maxProfit = 0;
        *maxProfitDuringFormmerDays = 0;
        for (day = 1; day < pricesSize; ++day) {
            diff = *(prices + day) - minPrice;
            if (diff < 0) minPrice = *(prices + day);
            else if (diff > maxProfit) maxProfit = diff;
            *(maxProfitDuringFormmerDays + day) = maxProfit;
        }
    
        /* 计算某一天极其之后所有时间内价格的最利益  */
        maxPrice = *(prices + pricesSize - 1);
        maxProfit = 0;
        *(maxProfitDuringLatterDays + pricesSize - 1) = 0;
        for (day = pricesSize - 2; day > -1; --day) {
            diff = maxPrice - *(prices + day);
            if (diff < 0) maxPrice = *(prices + day);
            else if (diff > maxProfit) maxProfit = diff;
            *(maxProfitDuringLatterDays + day) = maxProfit;
        }
    
        /* 计算最大收益 */
        int sum;
        maxProfit = 0;
        for (day = 0; day < pricesSize; ++day) {
            sum = *(maxProfitDuringFormmerDays + day) + *(maxProfitDuringLatterDays + day);
            if (sum > maxProfit) maxProfit = sum;
        }
    
        free(maxProfitDuringFormmerDays);
        free(maxProfitDuringLatterDays);
    
        return maxProfit;
    }

    完整代码https://github.com/Orange1991/leetcode/blob/master/123/c/main.c

    代码 CPP

    class Solution {
    public:
        /**
         * 计算最大收益
         * @param prices : 每日价格
         * @return : 最大收益 
         * @note : 至多进行两次买卖
         */
        int maxProfit(vector<int>& prices) {
            int pricesSize = prices.size();
    
            /* 如果价格数据为空或只有一个数据,返回0  */
            if (pricesSize <= 1) return 0;
    
            vector<int> maxProfitDuringFormmerDays(pricesSize),
                    maxProfitDuringLatterDays(pricesSize);
    
            int day, diff, minPrice, maxPrice, maxProfit;
    
            /* 计算某一天极其之前所有时间内的最大利益  */
            minPrice = prices[0]; 
            maxProfit = 0;
            maxProfitDuringFormmerDays[0] = 0;
            for (day = 1; day < pricesSize; ++day) {
                diff = prices[day] - minPrice;
                if (diff < 0) minPrice = prices[day];
                else if (diff > maxProfit) maxProfit = diff;
                maxProfitDuringFormmerDays[day] = maxProfit;
            }
    
            /* 计算某一天极其之后所有时间内价格的最利益  */
            maxPrice = prices[pricesSize - 1];
            maxProfit = 0;
            maxProfitDuringLatterDays[pricesSize - 1] = 0;
            for (day = pricesSize - 2; day > -1; --day) {
                diff = maxPrice - prices[day];
                if (diff < 0) maxPrice = prices[day];
                else if (diff > maxProfit) maxProfit = diff;
                maxProfitDuringLatterDays[day] = maxProfit;
            }
    
            /* 计算最大收益 */
            int sum;
            maxProfit = 0;
            for (day = 0; day < pricesSize; ++day) {
                sum = maxProfitDuringFormmerDays[day] + maxProfitDuringLatterDays[day];
                if (sum > maxProfit) maxProfit = sum;
            }
    
           return maxProfit;
        }
    
    };

    完整代码https://github.com/Orange1991/leetcode/blob/master/123/cpp/main.cpp

    运行情况

    LauguageStatusTime
    cAccept4ms
    cppAccept12ms

    2015/7/8

    展开全文
  • 上次看到一个问题:如何用Redis实现只允许一个用户一天内登录五。 想到Redis中可以给string设置过期时间,所以我们可以利用这个特性来实现。 作为一个java程序猿,我们使用Jedis,具体使用到的API是: /** * ...
  • 一次涉及表关联的优化

    千次阅读 2013-12-05 15:29:56
    第三,没事的时候,好好分析了下这个表的关联,找到了一点突破口: (1)、查看量表的记录数: select count(*) from DOC_RESEARCHREPORTCORE;--832391 select count(*) from FA_DOCANALYSTRELA--699367...
  • 给定一个价格序列prices,其中prices[i]代表第i天商品的价格,商家需要在某一天买入,然后在之后的某一天出售,计算可以获得的最大利润 本质就是计算prices[i]−prices[j]prices[i] - prices[j]的最大值,要求i>
  • 前几查看network请求时意外发现本地环境跑公司项目的时候,每次POST之前,都偷偷给我来一次没有返回的OPTIONS请求。 询问了大佬、查了资料。原来在 CORS-跨域资源共享 中,可以使用 OPTIONS 方法发起个 ...
  • hudson(jenkins)任务设置一天构建

    千次阅读 2013-05-09 01:19:47
    每一个hudson任务,都可以配置BuildTriggeers。通过这个配置,来控制构建的频率、时间,触发规则。 其中,如下图所示的Schedule负责...这里主要讲,怎么配置一天构建。 假如我希望每天的4点和6点都做构建,
  • 写了个python脚本,在linux配置了crontab任务,由于涉及文件读写,发现文件内容经常错乱,通过命令行执行没有问题 分析过程:  1.在脚本中增加了日志,通过日志发现脚本被2个线程执行了,如下图:  2....
  • 前一段时间,线上服务器的FullGC非常频繁,平均一天40多,而且隔几天就有服务器自动重启了,这表明的服务器的状态已经非常不正常了,得到这么好的机会,当然要主动请求进行调优了。未调优前的服务器GC数据,FullGC...
  • Android studio中的一次编译报错’Error:Execution failed for task ':app:transformClassesWithDexForDebug‘,困扰了两天
  • //获取前一天 SELECT * FROM 表名 WHERE DATE(时间字段) =DATE_SUB(CURDATE(),INTERVAL 1 DAY) //获取前天、、、、依次类推 SELECT * FROM 表名 WHERE DATE(时间字段) =DATE_SUB(CURDATE(),INTERVAL 2 DAY...
  • // 今天+1 Date tomorrow = c.getTime(); System.out.println("明天是:" + f.format(tomorrow)); } } 结果: 今天是:2013-10-09 明天是:2013-10-10 因项目需要,这里附上我在Hibernate中实现取周数据...
  • //给个对象绑定个事件处理函数的第种形式 //document.onclick = fn1; function fn1(){ alert(1); } function fn2(){ alert(2); } //给个元素绑定事件函数的第二种形式: //给个对象的同个...
  • 今天在做个项目的时候用到了Spring的定时计划任务。这是Spring的特色功能,可以根据设置在特定的时间或间隔时间做特定的事。 下面给出个例子: package net.csdn.blog.chaijunkukn; import java.text....
  • 再看他的方法执行了几次,它的方法就是OnCreate方法,虽然我觉得它不会执行两次,但是我们一定要进行排除,否则任何种情况都会出现。 所以打了个Log发现OnCreate方法也执行了两次。 这就找到根由了,所以在...
  • 【IOS游戏开发】之 一年两次加速审核机会

    万次阅读 热门讨论 2013-12-14 12:58:32
    1. 有时我们已发布的应用会出现点小毛病,或者我们就想快速的通过个新版本,我们想快速的通过审核。 可以提交加急更新申请:https://developer.apple.com/appstore/contact/appreviewteam/index.html 提交加急...
  • 应用部署到 tomcat 后,每次到定时器触发时,同个事件总是在统一时刻被触发两次。 分析 发现个奇怪的现象,在本地调试时,按照同样的方法配置, @Scheduled 配置的定时任务,在触发时只会被执行次。而部署到...
  • java登录程序用户密码5分钟内输错3锁定用户账号一天的实现 oracle 触发器 序列 MVC Struts 用户管理 密码锁定
  • 小弟和女朋友今年都是初入程序行业,公司都是自己通过招聘网站找的,我公司还好,中型企业,作息规律,但是女朋友那是个小公司,经常加班啊,这两天更是到23点24点,第二天九点还要到公司上班,八点多就要起床,我...
  • 我很久以前就看过三次握手和四次挥手的博客,但根本没懂,直到最近为了面试再看,也是仅仅知道过程,至于面试中的为什么需要三次握手,而不是四次或两次?,网上的博客千千万,国内外的,我还是一直没有理解,知道今天看了学校...
  • 自从程序写到提交查询表单到servlet导出excel这段后,基本被卡住了,不知道为什么总是老自动提交两次表单,而且第二次提交的表单默认的情况下传过去的是空值,也就是你自己选择的条件无效。这点差点让我
  • crontab中如何实现每隔多少执行一次脚本 我来答 分享 举报浏览 9698 2个回答 #热议#高考查分的前一秒你的心理状态是什么样的? 奶油菠萝包sky 来自百度知道认证团队2018-04-08 1. # 下午6点到早上6点...
  • 思路:利用时针与分针的夹角来计算。参考:上一篇文章 ...这样带来另个问题,一次重合接近和重合分开甚至是完全重合,最多可能出现3夹角小于gap值。下面是Java实现代码。 package XiaoMi; import java.ut
  • Unity 判断两次时间间隔

    千次阅读 2017-08-08 17:28:20
    //储存第一次的时间 public void SetDateTime() { //使用了PlayerPrefs 获取的时候一样 PlayerPrefs.SetString("SetTime", DateTime.Now.ToShortTimeString()); }
  • 记录一次壮烈牺牲的阿里巴巴面试

    万次阅读 多人点赞 2018-03-17 00:00:00
    作者:raledong来自:https://segmentfault.com/a/1190000013329013前言今天本是个阳光明媚,鸟语花香的...于是我的第一次面试之旅,就此壮烈的展开。自我介绍首先呢,大佬让我用分钟自我介绍。我本以为自己能滔
  • 题目:一个人一天只能进行最多两次买和两次卖,并且只有卖了才能继续买。问一天可以获得的最大收益,要采用时间复杂度低的实现。 股票价格为:10,22,5,75,65,80.答案:87(10买,22卖,5买,80卖) 动态规划解决...
  • 微信公众平台网页授权两次或多次重定响应问题 前几公司一直有我负责开发和维护的公众号突然出现在微信登陆时出现了多次的循环登陆让我感到了不解,我立刻带着不解和好奇进入了后台的调试…。之后我发现了个奇怪...
  • 最近在研究报表,要做一个实时的统计一天各个时段的数据增量,以2小时为一组统计,发现这个sql语句不简单,和大家分享一下我的写法。 做出来的效果如下:   sql语句如下: select count(distinct ro....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 910,297
精华内容 364,118
关键字:

一天上两次大