题目一:
create table etltable(
name varchar(20) ,
seq int,
money int); create table etltarget (
name varchar(20),
min_s int,
max_s int,
sum_money int); insert into etltable values
('A',1,100),
('A',2,200),
('A',3,300),
('A',8,400),
('A',9,500),
('B',1,100),
('B',2,500),
('B',5,600); 目标表结果应该是这样
A 1 3 600
A 8 9 900
B 1 2 600
B 5 5 600 解答:
select name,
min(seq) as min_s,
max(seq) as max_s,
sum(money) as money
from (
select
*,
seq-row_number() over (partition by name order by name) as rn2--连续的差值会相同
from etltable
) a group by name,rn2--连续的差值相同,按照这个分组即可
order by name

  

题目二:
with aa
as (
select 1 uid, '2015-6-1 8:20:00' as login_time union all
select 1 uid, '2015-6-2 7:20:05' as login_time union all
select 1 uid, '2015-6-3 21:20:30' as login_time union all
select 2 uid, '2015-6-1 8:10:00' as login_time union all
select 2 uid, '2015-6-3 8:20:00' as login_time union all
select 2 uid, '2015-6-4 18:20:00' as login_time union all
select 1 uid, '2015-6-5 9:20:00' as login_time union all
select 1 uid, '2015-6-6 16:20:00' as login_time union all
select 3 uid, '2015-6-1 8:20:00' as login_time union all
select 1 uid, '2015-6-7 12:20:00' as login_time union all
select 1 uid, '2015-6-8 23:20:00' as login_time union all
select 3 uid, '2015-6-2 8:20:00' as login_time union all
select 3 uid, '2015-6-3 2:20:00' as login_time ) select
uid,min(ds) as min_s,max(ds) as max_s,sum(1) cnt
from (
select * ,
day(login_time) ds,
day(login_time)-row_number() over (partition by uid order by login_time) as rn
from aa
) a
group by uid,rn

(Sqlserver)sql求连续问题的更多相关文章

  1. 求连续出现5次以上的值,并且取第5次所在id

    关键字:求连续出现5次以上的值,并且取第5次所在id 关键字:求在某列连续出现N次值的的数据,并且取第M次出现所在行 需求,求连续出现5次以上的值,并且取第5次所在id SQL SERVER: --测 ...

  2. 求连续最大子序列积 - leetcode. 152 Maximum Product Subarray

    题目链接:Maximum Product Subarray solutions同步在github 题目很简单,给一个数组,求一个连续的子数组,使得数组元素之积最大.这是求连续最大子序列和的加强版,我们 ...

  3. Sqlserver Sql Agent Job 只能同时有一个实例运行

    Sqlserver Sql Agent中的Job默认情况下只能有一个实例在运行,也就是说假如你的Sql Agent里面有一个正在运行的Job叫"Test Job",如果你现在再去启 ...

  4. 用SQL求1到N的质数和

    今天在百度知道中,遇到了一位朋友求助:利用sql求1到1000的质数和.再说今天周五下午比较悠闲,我就在MSSQL 2008中写了出来,现在分享在博客中,下面直接贴代码: declare @num i ...

  5. 求连续数字的和------------------------------用while的算法思想

    前端代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.as ...

  6. SQLSERVER SQL性能优化技巧

    这篇文章主要介绍了SQLSERVER SQL性能优化技巧,需要的朋友可以参考下 1.选择最有效率的表名顺序(只在基于规则的优化器中有效)       SQLSERVER的解析器按照从右到左的顺序处理F ...

  7. sqlserver sql优化案例及思路

    始sql: SELECT TOP 100 PERCENT ZZ.CREW_NAME AS 机组, ZZ.CREW_ID, AA.年度时间, CC.当月时间, DD.连续七天时间 AS 最近七天 FRO ...

  8. 一个SQL查询连续三天的流量100以上的数据值【SQql Server】

    题目 有一个商场,每日人流量信息被记录在这三列信息中:序号 (id).日期 (date). 人流量 (people).请编写一个查询语句,找出高峰期时段,要求连续三天及以上,并且每天人流量均不少于10 ...

  9. sql求日期

    2.求以下日期SQL: 昨天 select convert(varchar(10),getdate() - 1,120) 明天 select convert(varchar(10),getdate() ...

随机推荐

  1. Ubuntu系统下电脑驱动的安装(wifi无线网卡)

    今天给自己的笔记本电脑安装了新的Ubuntu 16.04但是安装之后发现wifi无法启用.这里特说明解决过程. 首先,网上的大部分教程是 选择"系统设置",点击"软件和更 ...

  2. java判断路径是文件夹还是文件

    当给定一个路径没有后缀的时候,很难分辨代码是文件还是文件夹,如下图: 我在桌面建立了一个名为one的文件,路径为:/Users/XXXXXX/Desktop/one java代码如下: import ...

  3. Java学习日报7.8

    public class 定义要求文件名和类名保持一致,一个*.Java文件只允许有一个public class定义! 主方法是一切程序的起点, public static void main(Str ...

  4. JAVA的一些笔记

    /*一般函数与构造函数的区别 构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化 一般函数:对象创建时,需要函数功能时才调用 构造函数:一个对象对象创建时,只调用一次 一般函数:对象创 ...

  5. java线程与内核线程的关系,及怎么定义ThreadPoolExecutor相关参数

    p.p1 { margin: 0; font: 12px Menlo } p.p1 { margin: 0; font: 12px Menlo } p.p2 { margin: 0; font: 12 ...

  6. ASP.Net中的TreeView控件中对节点的上移和下移操作

    Web中的TreeView中的没有PreNode和NextNode属性. 但它的集合属性中有一个IndexOf属性,从而能够找到它的前一个节点知后一个节点. TreeView中要么只有一个根节点:要么 ...

  7. mysql performance storage engine

    mysql performance storage engine 概要 mysql的运行时状态记录的存储引擎,实现了PSI(Performance Storage Interface) 通过WITH_ ...

  8. Phoneix(一)简介及常用命令

    一.简介 Apache Phoneix是运行在HBase之上的高性能关系型数据库,通过Phoneix可以像使用jdbc访问关系型数据库一样访问HBase. Phoneix操作的表以及数据存储在HBas ...

  9. 【高精度】计算2的N次方

    题目相关 [题目描述] 任意给定一个正整数N(N≤100),计算2的n次方的值. [输入] 输入一个正整数N. [输出] 输出2的N次方的值. [输入样例] 5 [输出样例] 32 分析 本题考察的是 ...

  10. swoole中websoket创建在线聊天室(php)

    swoole中websoket创建在线聊天室(php) swoole现仅支持Linix,macos 创建websocket服务器 首先现在服务器创建一个websocket服务器 <?php // ...