我想在SQLite中生成一個查詢,我可以確定每年在每個工作日的平均銷售量。SQLite - 確定每週的平均銷售量
舉個例子,我想說想說
「星期一的平均銷售額爲$ 400.50,2017年」
我有一個銷售表 - 每一行代表你做銷售。您可以在同一天有多個銷售。在這裏感興趣的列:
Id, SalesTotal, DayCreated, MonthCreated, YearCreated, CreationDate, PeriodOfTheDay
日/月/年是代表一週中的日/月/年的整數。 DateCreated是一個unix時間戳,代表它創建的日期/時間(顯然等於日/月/年)。
PeriodOfTheDay是0或1(白天或晚上)。您可以在特定的一天中有多個記錄(通常最多可以有2個記錄,但有些人喜歡單獨添加所有銷售記錄,因此一天可能有5個或更多記錄)。
當我被困
因爲你可以在同一天兩個記錄(即每天的銷售,一夜銷售,或每多),我不能只通過的天團周(即星期六組所有記錄)。
這是因爲您所做的銷售數量與您工作的天數不相等(即我可以工作10個星期六,但有30個銷售,所以按'星期六'分組會產生30個銷售,因爲存在30條記錄對於星期六(有些恰好在同一天發生)
此外,如果我通過daycreated,monthcreated,yearcrease它工作的意義上它產生x行(其中x是你工作的天數),但現在意味着我需要將此結果集返回到後端並進行計數,我寧願在查詢中這樣做,這樣我就可以將銷售額除以您的工作天數
是否有人會AB樂協助?
謝謝!
UPDATE
我想我得到了它 - 我很想有人告訴我,如果我是正確的:
SELECT COUNT(DISTINCT CAST((julianday((datetime(CreationDate/1000, 'unixepoch', 'localtime'))))/7 AS INT))
FROM Sales
WHERE strftime('%w', datetime(CreationDate/1000, 'unixepoch'), 'localtime') = '6'
AND YearCreated = 2017
這將產生數星期六,然後我會只需將此作爲內部查詢,將銷售總額除以此天數即可。
謝謝@OzLa - 我犯了一個錯誤,我把MySQL我的意思是SqlLIte,但無論如何,我做了你的建議,將它們分組。它產生行(所以不只是一個值),但這些行的總數是我想要的值。問題是,這意味着現在我必須將結果集傳回給PHP來計算記錄,但我真的很想在SQL中獲得總計數。任何想法現在怎麼做?謝謝! – NullHypothesis
您能提供一個虛擬數據和預期輸出來構建查詢嗎?如果可行,我們可以測試您的查詢 – OzLa