久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

根據(jù)另一列中的值遞增然后中斷并重新開始

Increment and then break and start over again based on a value in another column(根據(jù)另一列中的值遞增然后中斷并重新開始)
本文介紹了根據(jù)另一列中的值遞增然后中斷并重新開始的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我想增加一列,然后根據(jù)另一列中的值停止并重新開始.

I want to increment a column and then stop and start again based on a value in another column.

例如:

我有一張桌子:

CustomerID  YearMonth   True_False  
9000        2013-01-01   0
9001        2013-02-01   0
9002        2013-03-01   0
9003        2013-04-01   0
9004        2013-05-01   0
9005        2013-06-01   1
9006        2013-07-01   0
9007        2013-08-01   0
9008        2013-09-01   0
9009        2013-10-01   1
9010        2013-11-01   0

我想實(shí)現(xiàn)這一目標(biāo):

CustomerID  YearMonth   True_False  Sequence
9000        2013-01-01   0            1
9001        2013-02-01   0            2
9002        2013-03-01   0            3
9003        2013-04-01   0            4 
9004        2013-05-01   0            5
9005        2013-06-01   1            0
9006        2013-07-01   0            1
9007        2013-08-01   0            2
9008        2013-09-01   0            3
9009        2013-10-01   1            0
9010        2013-11-01   0            1

所以這是基于 True_False 列.當(dāng) True_False 為 0 時(shí),中斷并重新開始.( True_False = 0 ) 的 Sequence 值不必為 0,也可以為 NULL.

So this is based on True_False column. When True_False is 0 then break and start over again. Sequence value for ( True_False = 0 ) doesn't need to be 0 could be NULL as well.

推薦答案

試試這個(gè):

SELECT CustomerID, YearMonth, True_False,
       CASE 
          WHEN True_False = 1 THEN 0
          ELSE ROW_NUMBER() OVER (PARTITION BY True_False, grp 
                                  ORDER BY YearMonth) 
       END AS Sequence
FROM (      
   SELECT CustomerID, YearMonth, True_False,
          ROW_NUMBER() OVER (ORDER BY YearMonth) - 
          ROW_NUMBER() OVER (PARTITION BY True_False 
                             ORDER BY YearMonth) AS grp
   FROM mytable ) AS t
ORDER BY YearMonth

查詢計(jì)算字段grp,該字段標(biāo)識(shí)具有相同True_False 值的連續(xù)記錄的島.在外部查詢中使用此字段,我們可以枚舉這些島嶼中包含的記錄,從而獲得所需的序列號(hào).

The query calculates field grp which identifies islands of consecutive records having the same True_False value. Using this field in an outer query we can enumerate the records contained inside these islands and thus get the required sequence number.

此處演示

這篇關(guān)于根據(jù)另一列中的值遞增然后中斷并重新開始的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Modify Existing decimal places info(修改現(xiàn)有小數(shù)位信息)
The correlation name #39;CONVERT#39; is specified multiple times(多次指定相關(guān)名稱“CONVERT)
T-SQL left join not returning null columns(T-SQL 左連接不返回空列)
remove duplicates from comma or pipeline operator string(從逗號(hào)或管道運(yùn)算符字符串中刪除重復(fù)項(xiàng))
Change an iterative query to a relational set-based query(將迭代查詢更改為基于關(guān)系集的查詢)
concatenate a zero onto sql server select value shows 4 digits still and not 5(將零連接到 sql server 選擇值仍然顯示 4 位而不是 5)
主站蜘蛛池模板: 日本成人久久 | 国产精品久久久久久亚洲调教 | 全免一级毛片 | 国产成人综合久久 | 网黄在线| 精品成人 | 久久r久久| 精品av| av中文在线 | 日韩国产免费观看 | 欧美一级免费看 | 欧美成人h版在线观看 | 天天综合网7799精品 | 欧美xxxx网站 | h小视频 | 亚洲一区二区三区在线免费 | 五月天婷婷丁香 | 特黄特色大片免费视频观看 | 亚洲精品一区中文字幕 | 国产精品精品久久久 | 成人国产精品一级毛片视频毛片 | 欧美成人免费在线视频 | 中文字幕一区二区三区在线乱码 | 一区二区三区国产精品 | 国产精品免费一区二区三区四区 | 久久成人精品 | 91看片在线观看 | 成人在线h | 亚洲高清一区二区三区 | 成人免费淫片aa视频免费 | 国产精品久久久久久中文字 | 欧美国产日韩精品 | 亚洲男人网 | 欧美日韩一区二区三区不卡视频 | 国产一区二区在线免费观看 | 一级片在线视频 | 香蕉视频在线播放 | 国产精品成人免费 | 国产一区二区不卡 | 伊人亚洲| 中文字幕在线精品 |