惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 于斯人也

JsonHelper MergeJsonTemplate Add Indexer to DynamicJson Etw EventSourceProvider_EventsProducer.cs OopConsoleTraceEventListenerMonitor_TraceControllerEventsConsumer.cs WorkFlowHelper ConcurrentAsyncQueue 2014-09-07 KeyedPriorityQueue JsonHelper developed by using Newtonsoft.Json.NET, Deserialize to <T> object , XmlToJson/JsonToXml, QuoteName by using JToken Path. Udp SocketAsyncEventArgs SocketAsyncDataHandler C#: using JsonReader avoid Deserialize Json to dynamic XmlValidationHelper XSD、Schema(XmlSchemaSet)、XmlReader(XmlValidationSettings)、XmlDocument、XDocument Validate SharePoint 2013 Apps TokenHelper SharePointContext OAuth Provider-Hosted App (抄袭,测试 csc.rsp 用) nuget packages batch install csc.rsp Nuget MVC/WebAPI、SignalR、Rx、Json、EntityFramework、OAuth、Spatial SQL 2012 Restore HeaderOnly EasyPerformanceCounterHelper 并发异步处理队列 .NET 4.5+ (改进性能计数器) 2013-11-16 CodeTimerPerformance EasyPerformanceCounterHelper .NET 4.5 csc.rsp Nuget MVC/WebAPI 5.0、SignalR 2.0、Rx、Json、Azure、EntityFramework、OAuth、Spatial MEF Parts Sample
SQL 2012 Group By Rollup, Grouping
于斯人也 · 2014-02-13 · via 博客园 - 于斯人也

GO
alter proc [zsp_BranchsData]
as
begin
/*
    CREATE TABLE [原始机构数据]
    (
        [序号]                [varchar](50) NULL,
        [一级分行号]            [varchar](50) NULL,
        [一级分行名称]        [varchar](50) NULL,
        [二级分行号]            [varchar](50) NULL,
        [二级分行名称]        [varchar](50) NULL,
        --[上级机构号]        [varchar](50) NULL,
        --[上级机构名称]        [varchar](50) NULL,
        --[责任中心号]        [varchar](50) NULL,
        --[责任中心名称]        [varchar](50) NULL
    )
*/
    SELECT
        --GROUPING([一级分行号])
        --, 
        [一级分行号]        =
                            iif
                                (
                                    GROUPING([一级分行号]) = 1
                                    , '合计:'
                                    , [一级分行号]
                                ) ,
        [一级分行名称]    =
                            iif
                                (
                                    GROUPING([一级分行号]) = 1
                                    ,
                                        cast
                                            (
                                                count(distinct [一级分行号]) as varchar
                                            )
                                    , max([一级分行名称])
                                ) , 
        [二级分行数量]    = count(distinct [二级分行号])
    FROM
        [原始机构数据]
    group by
        --[一级分行号]
        rollup
            (
                [一级分行号]
            )
    order by
        GROUPING([一级分行号])
        , [一级分行号]
    select
        [二级分行号] ,
        [二级分行名称]    = max([二级分行名称]) ,
        [一级分行号]        = max([一级分行号]) ,
        [一级分行名称]    = max([一级分行名称])
    from
        [原始机构数据]
    group by
        [二级分行号]
    order by
        3
;with T
as
(
    SELECT
        [一级分行组]            = GROUPING([一级分行号]) ,
        [全辖一级分行序号]    = DENSE_RANK()
                                over
                                    (
                                        order by
                                            [一级分行号]
                                    ) - 1 ,
        [一级分行号]            =
                                iif
                                    (
                                        GROUPING([一级分行号]) = 1
                                        , '全部合计:'
                                        , [一级分行号]
                                    ) ,
        [一级分行名称]        =
                                case
                                    when
                                        GROUPING([一级分行号]) = 1
                                            then
                                                cast(count(distinct [一级分行号]) as varchar)
                                    when
                                        GROUPING([二级分行号]) = 1
                                        and GROUPING([一级分行号]) = 0
                                            then
                                                max([一级分行名称]) + ' 分组'
                                    else
                                        max([一级分行名称])
                                end ,
        [二级分行组]            = GROUPING([二级分行号]) ,
        [辖内二级分行序号]    = ROW_NUMBER()
                                    over
                                        (
                                            partition by
                                                [一级分行号]
                                            order by
                                                [二级分行号]
                                        ) - 1 ,
        [二级分行号]            =
                                case
                                    when
                                        GROUPING([一级分行号]) = 1
                                        and GROUPING([二级分行号]) = 1
                                            then
                                                '全部合计:'
                                    when
                                        GROUPING([二级分行号]) = 1
                                            then
                                                '分组小计:'
                                    else
                                        [二级分行号]
                                end ,
        [二级分行名称]        =
                                iif
                                    (
                                        GROUPING([二级分行号]) = 1
                                        , cast(count(distinct [二级分行号]) as varchar)
                                        , max([二级分行名称])
                                    )
    FROM
        [原始机构数据]
    group by
        --[一级分行号]
        rollup
            (
                [一级分行号]
                , [二级分行号]
            )
)
select
    --[一级分行组] ,
    [全辖一级分行序号] ,
    [一级分行号] ,
    [一级分行名称] ,
    --[二级分行组] ,
    [辖内二级分行序号] ,
    [二级分行号] ,
    [二级分行名称]
from
    T
order by
    [一级分行号] ,
    [一级分行组] ,
    [二级分行号] ,
    [二级分行组]
end