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

TSQL 循環(huán)月按順序

TSQL loop months in sequence(TSQL 循環(huán)月按順序)
本文介紹了TSQL 循環(huán)月按順序的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習吧!

問題描述

我有一個問題,但我對此感到無法理解.

I have an query that I'm feeling out-of-my depth with.

我需要遍歷兩個日期之間的月份,并為每個月返回一個數(shù)據(jù)子集,并為沒有數(shù)據(jù)的月份返回一個空白行.

I need to loop through months between two dates and return a subset of data for each month with a blank row for months with no data.

例如:

TransactionID    |    Date          |    Value
1                |    01/01/2015    |    £10
2                |    16/01/2015    |    £15
3                |    21/01/2015    |    £5
4                |    15/03/2015    |    £20
5                |    12/03/2015    |    £15
6                |    23/04/2015    |    £10

需要返回:

Month            |    Amount
January          |    £30
February         |    £0
March            |    £35
April            |    £10

我的查詢將依賴于指定日期范圍,以便我可以設(shè)置查詢的第一個和最后一個日期.

My query will rely on specifying a date range so I can set the first and last date of the query.

我覺得我可能想多了,但已經(jīng)到了那個階段,你開始覺得自己束手無策.

I feel like I maybe over thinking this, but have gotten to that stage where you start to feel like you tying yourself in knots.

推薦答案

關(guān)鍵是可以訪問一個整數(shù)列表來表示該范圍內(nèi)的月份.如果您沒有 Numbers Table,則 spt_values 將在一點.

The key is having access to a list of integers to represent the months in the range. If you don't have a Numbers Table, then spt_values will do in a pinch.

SqlFiddle 演示

SELECT
  [Year]   = YEAR(DATEADD(month,[i],@range_start))
 ,[Month]  = DATENAME(month,DATEADD(month,[i],@range_start))
 ,[Amount] = ISNULL(SUM([Value]),0)
FROM (
  SELECT TOP (DATEDIFF(month,@range_start,@range_end)+1)
    ROW_NUMBER() OVER(ORDER BY (SELECT 1))-1 [i]
  FROM master.dbo.spt_values
) t1
LEFT JOIN #MyTable t2
  ON (t1.[i] = DATEDIFF(month,@range_start,t2.[Date]) )
GROUP BY [i]
ORDER BY [i]

這篇關(guān)于TSQL 循環(huán)月按順序的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

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

相關(guān)文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉(zhuǎn)換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創(chuàng)建視圖?)
Create calculated value based on calculated value inside previous row(根據(jù)前一行內(nèi)的計算值創(chuàng)建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發(fā)技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉(zhuǎn)換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 91精品国产91久久久久久不卞 | 手机看黄av免费网址 | 毛片免费看 | 亚洲国产精品一区二区第一页 | 亚洲国产欧美在线人成 | 激情av网站 | 久久99深爱久久99精品 | 九九综合 | 欧美一区二区三区在线观看视频 | 亚洲九九精品 | 日韩成人在线观看 | 婷婷午夜天 | 97影院2| 午夜影院| 国产在线精品免费 | 国产成人短视频在线观看 | 国产精品国产三级国产aⅴ浪潮 | 天天躁日日躁xxxxaaaa | 在线观看中文字幕视频 | 国产精品中文字幕在线观看 | 日韩久久精品电影 | 国产精品区二区三区日本 | 免费国产一区二区视频 | 爱草在线 | 91久久| 欧美成年黄网站色视频 | 成人免费视频久久 | 国产精品美女久久久久aⅴ国产馆 | 亚洲欧洲在线看 | 亚洲成人av| 全部免费毛片在线播放网站 | a在线观看 | 日韩欧美在线视频 | 亚洲精品福利视频 | 国产精品日韩欧美一区二区三区 | 亚洲永久精品国产 | 亚洲精品日韩一区二区电影 | 盗摄精品av一区二区三区 | 欧美在线一区二区三区 | 久久久久久免费看 | 日韩精品一区二区三区中文字幕 |