统计数列中是连续数的个数

数据库环境:SQL SERVER2008R2

今天在群里看到一位网友提的需求,要求统计一组数据中前3位是连续数的个数,具体看贴图。

实现这个需求蛮简单的,说下我的思路:

取前3位,然后减去123,再和111求余,如果结果是0,说明这3位数连续。

是不是很简单呀,下面直接上代码。

/*数据准备*/
WITH    x0
          AS ( SELECT   1234 AS tn
               UNION ALL
               SELECT   1235 AS tn
               UNION ALL
               SELECT   1236 AS tn
               UNION ALL
               SELECT   2345 AS tn
               UNION ALL
               SELECT   2346 AS tn
               UNION ALL
               SELECT   3456 AS tn
               UNION ALL
               SELECT   2456 AS tn
             )
    /*计算、输出*/
    SELECT  tn1 ,
            COUNT(*) AS cn
    FROM    ( SELECT    tn ,
                        tn / 10 AS tn1 ,
                        tn / 10 - 123 AS tn2
              FROM      x0
            ) t
    WHERE   tn2 % 111 = 0
    GROUP BY tn1
    ORDER BY tn1

只需变一下思路,问题就解决了。我贴一下结果。

(本文完)

时间: 2024-08-26 13:42:47

统计数列中是连续数的个数的相关文章

统计连续数的个数

#include<iostream> using namespace std; void count() { int value; int cnt; int curvalue; if(cin>>curvalue) { cnt=1; while(cin>>value) { if(curvalue==value) cnt++; else { cout<<"current value:"<<curvalue<<"

Light oj 1138 - Trailing Zeroes (III) 【二分查找 &amp;&amp; N!中末尾连续0的个数】

1138 - Trailing Zeroes (III) PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB You task is to find minimal natural number N, so that N! contains exactly Q zeroes on the trail in decimal notation. As you know N! = 1*2*...*N. F

作业-- 统计文本文件中的字符数、单词数、行数

用AndroidStudio解析统计文本文件中的字符数.单词数.行数. 代码部分: package administrator.mc; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widge

java统计字符串中字符及子字符串个数

import java.util.Scanner;public class Counter { static Scanner scanner = new Scanner(System.in); public static void count(String s) { int low, upper, num, others; low = upper = num = others = 0; for (int i = 0; i < s.length(); i++) { if (Character.is

简单的方法来统计文件中单词和各种标点符号个数

此小程序使用最基本的方法来统计文本中英文单词的个数,想法也比较简单: (1)从文本中文本读取内容,使用BufferedReader类每次读取一行并添加到StringBuffer类型变量中, 最后StringBuffer类型变量即为文本的内容,如StringBuffer sb: (2)把sb的内容全部转化成小写字母(或大写字母): (3)统计文件中各种标点符号个数: (4)把所有标点符号统一替换成一种标点符号,如替换成逗号 (5)替换后的文本使用字符串的分割函数来获取返回的字符串数组的长度,此长度

统计字符串中,各个字符的个数(回炉练习)

__author__ = 'ZHHT' #!/usr/bin/env python # -*- coding:utf-8 -*- #统计字符串中,各个字符的个数 #比如:"hello world" 字符串统计的结果为: h:1 e:1 l:3 o:2 d:1 r:1 w:1 a = "hello world" b = set(a) for i in b: if i == ' ': c = a.count(i) i = '空格' print("%s出现%d次

Linux命令-统计文件中的字节数、字数、行数:wc

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数.字数.行数,并将统计结果显示输出.该命令统计指定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所指定文件的总统计数. 3.命令参数: -c 统计字节数. -l 统计行数. -m 统计字符数.这个标志不能与 -c 标志一起使用. -w 统计字数.一个字被定义为由空白.

python中3位数中的水仙花数,和5位数中回文数的个数

3位数中的水仙花数打印num=100 e=0while num<1000: b=num%10 c=num//10%10 d=num//100 if b**3+c**3+d**3==num: e+=1 print (num) num+=1print (e) 5位数中的回文数的个数 num=10000e=0while num<=99999: a=num//10000 b=num//1000%10 c=num%100//10 d=num%10 if a==d and b==c: e+=1 print

统计字符串中的删除的单词个数

public class Demo24 { public static void main(String[] args) { String s = "woaijavahahajavaaiwo"; //原来字符串的长度 int length = s.length(); //删除后的长度 int replace = s.replace("java", "").length(); //删除的总长度 int x =length-replace; //单个