-
2021-04-30 08:35:19
各位高手:
小弟有一问题请教:
现有一个几百万条记录的表,表中主要的列有:NO.,KSRQ,ZZRQ,PAY等,如下:
NO. KSRQ ZZRQ PAY
---------------------------------------------------------------------------
2120 2001-1-1 2002-5-31 200
2120 2002-6-1 2003-12-31 300
2120 2004-3-1 2005-1-31 400
2120 2005-2-1 2005-5-31 450
2201 2000-6-1 2002-12-31 150
2201 2004-3-1 2005-1-31 180
2201 2005-2-1 2005-4-30 300
2201 2005-5-1 2005-8-31 500
...
现要将每一个NO. 每一段连续日期合并起来,将相应的PAY作SUM。如上边的数据应变为:
NO. KSRQ ZZRQ PAY
---------------------------------------------------------------------------
2120 2001-1-1 2003-12-31 500
2120 2004-3-1 2005-5-31 950
2201 2000-6-1 2002-12-31 150
2201 2004-3-1 2005-8-31 980
请教SQL语句应如何写。
更多相关内容 -
js 判断一组日期是否是连续的简单实例
2020-10-21 23:40:31下面小编就为大家带来一篇js 判断一组日期是否是连续的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
java 判断一个数组中的数值是否连续相邻的方法
2020-08-27 21:31:44下面小编就为大家分享一篇java 判断一个数组中的数值是否连续相邻的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
js判断是否有6个连续数字的字符串的正则
2020-10-29 17:44:05js判断是否有6个连续数字的字符串的正则 -
JAVA 判断是否连续字母或者数字
2021-04-22 13:21:11JAVA实现连续字母或者数字:实现思路:统一转成ASCII进行计数判断,纯数字、纯字母//纯数字(数字0 -- 数字9,对应ASCII为48 -- 57)//大写纯字母(大写字母A -- 大写字母Z,对应ASCII为65 -- 90)//小写纯字母(小写字母a ...JAVA实现连续字母或者数字:
实现思路:统一转成ASCII进行计数判断,纯数字、纯字母
//纯数字(数字0 -- 数字9,对应ASCII为48 -- 57)
//大写纯字母(大写字母A -- 大写字母Z,对应ASCII为65 -- 90)
//小写纯字母(小写字母a -- 小写字母z,对应ASCII为97 -- 122)
案例:
package cn.sunmeng.utils;
/**
* @ClassName: SimpleLetterAndNumCheck.java
* @Description: JAVA实现连续字母或者数字:
实现思路:统一转成ASCII进行计数判断,纯数字、纯字母
//纯数字(数字0 -- 数字9,对应ASCII为48 -- 57)
//大写纯字母(大写字母A -- 大写字母Z,对应ASCII为65 -- 90)
//小写纯字母(小写字母a -- 小写字母z,对应ASCII为97 -- 122)
* @author: SM(sm0210@qq.com)
* @date: 2017年5月28日 上午10:37:22
*/
public class SimpleLetterAndNumCheck {
/**
* SM 校验字符串连续多少位是纯数字或者纯字母,默认6位(字母区分大小写)
* @param password 密码
* @return
*/
public static boolean simpleLetterAndNumCheck(String value){
//
return SimpleLetterAndNumCheck.simpleLetterAndNumCheck(value, 6);
}
/**
* SM 校验字符串连续多少位是纯数字或者纯字母,默认6位(字母区分大小写)
* @param password 密码
* @param length 校验长度,默认6为
* @return
*/
public static boolean simpleLetterAndNumCheck(String value, int length){
//是否不合法
boolean isValidate = false;
//
int i = 0;
//计数器
int counter = 1;
//
for(; i < value.length() -1;) {
//当前ascii值
int currentAscii = Integer.valueOf(value.charAt(i));
//下一个ascii值
int nextAscii = Integer.valueOf(value.charAt(i + 1));
//满足区间进行判断
if( (SimpleLetterAndNumCheck.rangeInDefined(currentAscii, 48, 57) || SimpleLetterAndNumCheck.rangeInDefined(currentAscii, 65, 90) || SimpleLetterAndNumCheck.rangeInDefined(currentAscii, 97, 122))
&& (SimpleLetterAndNumCheck.rangeInDefined(nextAscii, 48, 57) || SimpleLetterAndNumCheck.rangeInDefined(nextAscii, 65, 90) || SimpleLetterAndNumCheck.rangeInDefined(nextAscii, 97, 122)) ) {
//计算两数之间差一位则为连续
if(Math.abs((nextAscii - currentAscii)) == 1){
//计数器++
counter++;
}else{
//否则计数器重新计数
counter = 1;
}
}
//满足连续数字或者字母
if(counter >= length) return !isValidate;
//
i++;
}
//
return isValidate;
}
/**
* SM 判断一个数字是否在某个区间
* @param current 当前比对值
* @param min 最小范围值
* @param max 最大范围值
* @return
*/
public static boolean rangeInDefined(int current, int min, int max) {
//
return Math.max(min, current) == Math.min(current, max);
}
/**
*
* @param args
*/
public static void main(String[] args) {
//
//String str = "1234677A!@#B0abcdeg123456DDzZ09";
//连续不合法区间值校验
String str = ":;<=>?@A";
//
boolean validate = SimpleLetterAndNumCheck.simpleLetterAndNumCheck(str);
//
if(validate){
System.out.println("连续字母或者数字");
}else {
System.out.println("合法的校验");
}
}
}
-
python 判断是否有连续数字
2020-12-08 11:07:34匿名用户1级2014-04-11 回答s_list=['25','24','23','02','04','06','08','22','23','24','25','02','04','06','08','23','24','25']#要判62616964757a686964616fe4b893e5b19e31333335313761断的字符型数字,如果纯粹...匿名用户
1级
2014-04-11 回答
s_list=['25','24','23','02','04','06','08','22','23','24','25','02','04','06','08','23','24','25']#要判62616964757a686964616fe4b893e5b19e31333335313761断的字符型数字,如果纯粹是数字的话后把int删了就行
end_list=[]#结果列表
t_len=len(s_list)
z=0
for i in range(1,t_len,1):
if (int(s_list[i])-int(s_list[i-1]))==1:
if z<=0:
if z
argtemp=[]
for j in range(i z-1,i,1):
argtemp.append(s_list[j])
end_list.append(argtemp)
z=1
else:
z=z 1
elif (int(s_list[i])-int(s_list[i-1]))==-1:
if z>=0:
if z>1:
argtemp=[]
for j in range(i-z-1,i,1):
argtemp.append(s_list[j])
end_list.append(argtemp)
z=-1
else:
z=z-1
else:
z=abs(z)
if z>1:
argtemp=[]
for j in range(i-z-1,i,1):
argtemp.append(s_list[j])
end_list.append(argtemp)
z=0
z=abs(z)
if z>1:
argtemp=[]
for j in range(t_len-z-1,t_len,1):
argtemp.append(s_list[j])
end_list.append(argtemp)
for argtemp in end_list:
for t in argtemp[:-1]:
print t,
print argtemp[-1]
#结果
#25 24 23
#22 23 24 25
#23 24 25
-
jS判断字符串是否是连续递增的或者递减的
2016-01-11 11:18:27判断字符串或者密码是不是连续递增的如1234567 7654321 abcdefg 之类的 -
判断数值是否连续
2020-08-12 15:08:27isContinuityNum(num){ //判断选中的时间段是否连续 let array=[]; if(num instanceof Array){ array = [...num]; }else{ array = Array.from(num.toString())//转换为数组 } array...判断一串数值之间是不是连续
isContinuityNum(num){ //判断选中的时间段是否连续 let array=[]; if(num instanceof Array){ array = [...num]; }else{ array = Array.from(num.toString())//转换为数组 } array.sort(function(a,b){ //要做一下排序,不然如果顺序颠倒过来就无法判断数值是否连续了 return a- b; }); var i=array[0]; var isContinuation=true; for(var e in array){ if(array[e]!=i){ isContinuation=false; break; } i++; } return isContinuation; },
-
如何判断一个数组中的数值是否连续相邻
2021-02-26 20:04:55设计一个算法,判断这个数组中的元素是否连续相邻。需要注意以下4点:(1)数值允许是乱序的,如87506。(2)0可以通配任意数值,如87506中的0可以通配成9或者4.(3)0可以多次出现。(4)全0算连续,只有一个非0算连续。... -
java判断两个日期是否连续
2022-05-20 10:03:13使用java判断两个日期的天是否连续 import java.text.SimpleDateFormat; import java.util.Date; /** * @author lingkang * Created by 2022/5/20 */ public class DateUtils { private static final ... -
判断日期是否连续
2021-01-05 13:58:19hql统计连续登录三天及以上的用户 数据提供 用户ID、登入日期 user01,2018-02-28 user01,2018-03-01 user01,2018-03-02 user01,2018-03-04 user01,2018-03-05 user01,2018-03-06 user01,2018-03-07 user02,... -
java面试题,求判断int数组中的元素是否连续
2021-03-16 10:41:221:给出一个int类型数组,判断int数组中的元素是否连续。比如:[2,4,3,5,7,6]能组成连续数字,【1,2,6,4,7】则能。2:给出一个int类型数组,判断int数组中的元素是否连续。比如:[2,4,3,5,7,6]能组成连续数字,【1,2... -
今天有个需求Java后端判断是否连续签到
2022-01-06 21:25:16//判断是否超过2天 就是把上次签到日期传进来 加上一天 和 -现在的日期判断 如果一样 就是连续签到 不一样就是断了 Calendar c = Calendar.getInstance(); c.setTime(date); c.add(Calendar.DAY_OF_MONTH, 1); ... -
Java判断一串数字是否连续
2022-01-10 16:26:44* 判断一串数字是否连续 * */ public static void main(String[] args) { int[] arrays = {1, 2, 3, 4, 5, 6, 7, 9}; boolean flag = true; for (int i = 0; i < arrays.length; i++) { if (i & -
判断数组中的元素是否连续
2018-07-20 00:14:32设计一个算法判断该数组中的元素是否连续。 如果一个数组包含n个元素,并且该数组中元素是连续的,那么它一定具有“数组中最大值元素与最小值元素之差为n-1”的性质。如果这些元素中包含0这样的通配数字,并且保证... -
用My SQL查询连续的数字(连续出现问题)
2020-12-14 12:22:11最近在leetcode上刷题的时候,发现了一个比较有代表性的查询连续出现数字的问题。当然这个连续出现问题可以是很多,连续签到、连续登陆等。这个时候需要用到自连接,自连接也就是把一张表当两张表用。 比如这道题: ... -
java 如何判断数字是否连续?求大神解答
2021-03-06 01:35:22举例 1 2 9 12 5 14存入list如果 如果出现 1到14的数字有连续的则返回true 举例 刚才那个list 出现了1-2。当然如果里面有2-3或3-4 只要有两个联系出现的顺序数字则发挥true1 5 8 3 14 16 这个则返回false 因为他没有... -
php-确定是否连续连续至少重复指定一个字符
2021-04-18 17:04:54我要完成的工作是确定某个字符是否在未预定义长度的字符串中连续至少重复X次.重复阈值X可以硬编码,因为它将使用的代码变化不大.重复的字符本身并不重要,我只想知道是否存在这种重复.例如,如果阈值设置为4:aaaabcd =... -
js判断字符串是否连续(数字、字母)
2019-08-26 15:01:00JavaScript验证字符串是否全部连贯,一般用于验证密码,避免密码过于简单。 1.实现数字是否连贯的... //用于连续个数的统计 for(var i=1;i<num.length;i++){ if((num[i]-num[i-1]==1)||(num[i]-num[i-1]==-... -
判断时间或者数字是否连续
2020-05-14 16:21:11一、判断时间数组是否连续(格式:yyyyMMdd) public static String convert(String[] ints, int index) { int end = index; if (ints.length == index) {//结束条件,遍历完数组 return ""; } else { for (int... -
判断日期数组是否连续
2018-06-04 15:55:10runningDays(days)为true时,即连续日期。为false时,即不连续日期。 作者:指间行走 链接:https://juejin.im/post/5b07809f6fb9a07ab83e731f 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业... -
JavaScript_js 判断一组日期是否是连续的简单实例,这是群里一朋友问的问题,当 - phpStudy
2021-04-23 10:53:37问题需求给定5个相同格式的日期,怎么判断是否是连续5天呢?我当时第一反应 getDay() 后排序,然后前后对比即可。。但是细想,完全不对,比如本周一下周二,这样也会误判。而且不仅仅这样的问题,还要跨月,跨年,... -
Java后台如何判断一串数字是否连续,连续合并数字
2021-04-23 17:51:17} } } if (index == end)//相等说明不连续 return ints[index] + "," + convert(ints, end + 1); else//连续 return ints[index] + "-" + ints[end] + "," + convert(ints, end + 1); } } } 转至:... -
Python 判断日期是否连续,并生成断开的日期
2021-06-17 10:39:15直接上代码,需要的拿去结合自己修改: import numpy as np from scipy import interpolate import matplotlib.pyplot as plt import time, datetime from datetime import datetime, date, timedelta x = ['2021-5... -
(JAVA)服务端实现检查当前用户连续签到天数、是否连续签到等业务
2020-12-21 09:47:27最近项目有一个业务是用户连续签到xx天赠送多少奖励积分等等,看了网上绝大部分的思路,查询所有签到记录在进行比对有没有漏签,个人认为有些麻烦,自己设计了一下,仅供朋友们一些参考,如果你们有更好的想法,请... -
判断数组里面是否有连续数字
2022-03-11 15:24:54void continuityNum(Integer[] ns) { List<Integer> c = new LinkedList&... // 连续的子数组 c.add(ns[0]); int count = 0; int charNum = 0; for (int i = 0; i < ns.length - 1; ++i) { if (ns[i]..