第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按周時段展現(xiàn)銷售情況

按周時段展現(xiàn)銷售情況

猛跑小豬 2018-12-06 11:44:07
表里面有很多銷售記錄,我要把它做成報表,按周時段咱展現(xiàn)一周的銷售情況,咱們做呀?
查看完整描述

10 回答

?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗 獲得超4個贊

樓上的不錯,學(xué)習(xí)了

查看完整回答
反對 回復(fù) 2019-01-07
?
子衿沉夜

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊

你好,

你是不是需要一個函數(shù)~而這個函數(shù)的功能大概是在你傳入一個datetime的數(shù)據(jù)列時返回這個datetime所處的星期n位置

如果是,那么在SQL Server里面你可以使用

PRINT DATENAME(dw, GETDATE())
然后你就可以在SELECT那里的FROM子句后面的GROUP BY DATENAME(dw, daatetime列)了~~
查看完整回答
反對 回復(fù) 2019-01-07
?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗 獲得超4個贊

我需要的結(jié)果是如下:

月份? 第一周? 第二周? 第三周? 第四周

8?????? 100???? 3000?? 4000?? 2000

9?????? 200???? 400????? 2000?? 2000

像這種

查看完整回答
反對 回復(fù) 2019-01-07
?
UYOU

TA貢獻(xiàn)1878條經(jīng)驗 獲得超4個贊

我需要的結(jié)果是如下:

月份? 第一周? 第二周? 第三周? 第四周??? 第五周

8月份??100???? 3000?? 4000?? 2000????? 0

9月份???200???? 4000???? ? 0????????? 0?????? 0

10月份??0????????? 0?????????? 0???????? 0????????0

像這種

要把每一個月拆分周來統(tǒng)計呀

查看完整回答
反對 回復(fù) 2019-01-07
?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗 獲得超14個贊

@于漢中:

源數(shù)據(jù)表的格式是??

查看完整回答
反對 回復(fù) 2019-01-07
?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗 獲得超4個贊

@dotNetDR_:

哎.一瓶可樂過后.睡不著郁悶.只好做做題了

希望對你有幫助.

--建表
CREATE TABLE #temp_SalesReport (
[Month] datetime not null,
[Amount] money not null
)

DECLARE @MonthDiffer int --月份差
SET @MonthDiffer = 0

DECLARE @Amount money
SET @Amount = 100.00

DECLARE @StartMonth datetime --開始的月份
DECLARE @MenthCOunt int --計算月數(shù) 范圍{ 1 ... 12 }
SET @StartMonth = CAST('2011-01-01' AS datetime)
SET @MenthCOunt = 12 --模擬一年的銷售

DECLARE @MonthDate datetime
SET @MonthDate = DATEADD(dd, -day(@StartMonth) + 1, @StartMonth)

--Debug
--
SELECT @MonthDate

--插數(shù)據(jù)
WHILE (@MonthDiffer < @MenthCOunt)
BEGIN
INSERT INTO #temp_SalesReport (
[Month], [Amount]
)
VALUES (
@StartMonth, @Amount
)

SET @Amount = @Amount + 100.00

SET @StartMonth = DATEADD(dd, 1, @StartMonth)

SET @MonthDiffer = DATEDIFF(mm, @MonthDate, @StartMonth)
--print @MonthDiffer
END

--Debug
--
SELECT * FROM #temp_SalesReport
--
DELETE FROM #temp_SalesReport

--實現(xiàn),先計算出月份和第幾周
;WITH CTE_1 AS (
SELECT
(
DATENAME(dd, [Month]) + 6) / 7 [WeekOfMonth], -- 加6 是 -1 + 7來的,這列是獲取當(dāng)月的周編號
MONTH([Month]) [MonthForNum], -- 獲取月份
--[Month], --Debug時可以取消看結(jié)果
[Amount]
FROM
[#temp_SalesReport]
)
--select * from CTE_1 --Debug
,
CTE_2
AS (
SELECT
[MonthForNum],
[WeekOfMonth],
[Amount]
FROM CTE_1
)
--SELECT * FROM CTE_2 --Debug
/*
Debug (最終結(jié)果)
SELECT MonthForNum, WeekOfMonth, SUM(Amount) [AmountTotal]
FROM CTE_2
GROUP BY MonthForNum, WeekOfMonth
ORDER BY MonthForNum, WeekOfMonth
*/
--行轉(zhuǎn)列后的最終結(jié)果
SELECT
CAST(MonthForNum AS NVARCHAR(2)) + N'月份' [月份],
[1] [第一周],
[2] [第二周],
[3] [第三周],
[4] [第四周],
CASE
WHEN [5] is null THEN CAST(0.00 AS money)
ELSE [5]
END [第五周]
FROM (
SELECT * FROM CTE_2
GROUP BY MonthForNum, WeekOfMonth, Amount
)
[SourceTable]
PIVOT (
SUM([Amount])
FOR [WeekOfMonth] IN (
[1], [2], [3], [4], [5]
)
)
[PivotTable]
效果圖


行轉(zhuǎn)列參考
http://www.cnblogs.com/highend/archive/2011/07/15/how_to_using_pivot_and_unpivot.html

查看完整回答
反對 回復(fù) 2019-01-07
?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗 獲得超8個贊

@dotNetDR_:要寫存儲過程嗎?

查看完整回答
反對 回復(fù) 2019-01-07
?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗 獲得超7個贊

@于漢中:

上面的代碼沒有用到存儲過程噢了~

只是用到DATANAME函數(shù)去獲取相應(yīng)的值然后在去做報表之類.

你如果有那里不懂可以提出,我會盡力為你解答

謝謝

查看完整回答
反對 回復(fù) 2019-01-07
  • 10 回答
  • 0 關(guān)注
  • 632 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號