取消
顯示的結果
而不是尋找
你的意思是:

如何計算每天活動的數量基於活動的開始和結束日期在SQL火花Databrick嗎

dulu
新的貢獻者三世

我需要每天計算活動的數量基於活動的開始和結束日期

輸入表:

圖1

出需要(結果):

圖2我需要怎麼寫SQL命令在磚上麵的結果嗎?感謝所有

1接受解決方案

接受的解決方案

UmaMahesh1
尊敬的貢獻者三世

嗨@Du陸

步驟1:收集所有的日期開始日期和結束日期之間的運動是發生在這些日期。

步驟2;收集到的日期設置爆炸

步驟3:計算活動發生在一個特定日期的數量使用一個簡單的分組表達式。

查詢是這樣的:(假設startDate可以和EndDate日期列,而不是字符串。如果字符串,鑄造日期之前)。

選擇計數(campaignName) CampaignCount, EventDate

(選擇campaignName爆炸(序列(EndDate StartDate可以,間隔1天))EventDate從源)

組2

如果你想要特定日期範圍你可以通過添加where子句在上麵查詢。

選擇計數(campaignName) CampaignCount, EventDate

(選擇campaignName爆炸(序列(EndDate StartDate可以,間隔1天))EventDate從源)

在EventDate“2022-07-06”與“2022-08-03”

組2

希望這有助於……

歡呼。

在原帖子查看解決方案

3回複3

UmaMahesh1
尊敬的貢獻者三世

嗨@Du陸

步驟1:收集所有的日期開始日期和結束日期之間的運動是發生在這些日期。

步驟2;收集到的日期設置爆炸

步驟3:計算活動發生在一個特定日期的數量使用一個簡單的分組表達式。

查詢是這樣的:(假設startDate可以和EndDate日期列,而不是字符串。如果字符串,鑄造日期之前)。

選擇計數(campaignName) CampaignCount, EventDate

(選擇campaignName爆炸(序列(EndDate StartDate可以,間隔1天))EventDate從源)

組2

如果你想要特定日期範圍你可以通過添加where子句在上麵查詢。

選擇計數(campaignName) CampaignCount, EventDate

(選擇campaignName爆炸(序列(EndDate StartDate可以,間隔1天))EventDate從源)

在EventDate“2022-07-06”與“2022-08-03”

組2

希望這有助於……

歡呼。

Hubert_Dudek1
尊敬的貢獻者三世

就創建一個數組序列,爆炸,然後組數:

與cte(選擇“活動名稱”,爆炸(序列(開始日期,結束日期,時間間隔為1天))從“活動”“日期”)選擇計數(“活動名稱”)“數獨特的活動”,“日期”cte GROUP BY“日期”;

很好的查詢…

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map