2017-08-15 74 views
0

我正在試圖製作一張顯示公司每天總銷售額的圖表。這是我的查詢找到今天的銷售總額:爲不同的月份寫入查詢

select count(*) from registered_devices where status = 1; 

,這是查詢發現7天前銷售總額:

select count(*) from registered_devices where sysdate - 7 <TO_DATE('19700101','yyyymmdd') + ((create_time)/1000/24/60/60) and status = 1; 

我想利用每一天的總銷售價值,並把它們在Highcharts圖表上。但是,如你所知,有些月份有31個,其他月份有30天,所以我不能每天分別查詢查詢。你能幫助我嗎?我怎樣才能爲每個月的每一天編寫查詢,關於每個月有不同的天數?感謝您的幫助。

回答

1

使用TO_CHAR()和彙總當天:

這裏
SELECT 
    TO_CHAR(create_time, 'yyyy/mm/dd'), 
    COUNT(*) 
FROM registered_devices 
WHERE status = 1 
GROUP BY 
    TO_CHAR(create_time, 'yyyy/mm/dd') 

一個需要注意的是,上面的查詢將不會輸出,如果某一天它有沒有任何活動。如果你想保證每天都會顯示,你可以創建一個日曆表。

此外,您可以通過向WHERE子句中添加其他條件來限制日期範圍,該子句將檢查create_time

+0

我從OraExp得到這個錯誤:「DATE_FORMAT」:無效的標識符,是什麼原因? – jansetk

+0

您使用的是Oracle嗎?你爲什麼用MySQL標記? –

+0

這是reccomended,所以我沒有注意到。對不起,我錯了。 – jansetk