postgresql查詢每個月的最后一天日期并對未查到的日期結(jié)果補0(操作示例)
postgresql查詢每個月的最后一天日期,并對未查到的日期結(jié)果補0
說明
遇到了一個需求,需要查詢每個月月底的最后一天數(shù)據(jù),并對未查到的日期結(jié)果補0。
pgsql需要使用函數(shù)如下
使用date_trunc()函數(shù)找到指定月第一天

然后對該日期先加一個月在減一個月就能得到你傳給的日期的最后一天日期

然后在使用generate_series()函數(shù):你發(fā)現(xiàn)這樣寫不能得到自己的期望結(jié)果,有些日期不準確。

最后generate_series()函數(shù)結(jié)合date_trunc()函數(shù)就能達到期望結(jié)果:
select to_char((select date_trunc('month',date(t))+interval '1 month'- interval '1 day'),'yyyy-MM-dd') date
from generate_series('2021-06-30'::date,'2022-05-31'::date,'1 month') t
然后再將日期與你需要查詢的表的日期相關聯(lián),使用coalesce(字段,0)函數(shù)對值為空進行補0操作,就能查詢出你期望的結(jié)果。
實現(xiàn)
在實際開發(fā)中只需要將2個日期2021-06-30和2022-05-31換成對應的開始日期參數(shù)和結(jié)束日期參數(shù),那么這個統(tǒng)計結(jié)果就是符合期望的結(jié)果的了。
SELECT a.time,COALESCE(b.counts,0) as counts from
(
SELECT
to_char((select date_trunc('month',date(t))+interval '1 month'- interval '1 day'),'yyyy-MM-dd') time
FROM
generate_series('2021-06-30'::date,'2022-05-31','1 month') t
GROUP by time
ORDER BY time
) as a
LEFT JOIN
(
select to_char(starttime,'yyyy-MM-dd') AS starttime, count(starttime) AS counts
from rnodbv2.v2_m_ctest_log_info
--where to_char(starttime,'yyyy-MM-dd')>='2021-06-30' and to_char(starttime,'yyyy-MM-dd')<='2022-05-31'
GROUP BY to_char(starttime,'yyyy-MM-dd')
) as b
on a.time=b.starttime
order by a.time結(jié)果如下:

到此這篇關于postgresql查詢每個月的最后一天日期并對未查到的日期結(jié)果補0(操作示例)的文章就介紹到這了,更多相關postgresql查詢每個月的最后一天日期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決postgresql 數(shù)據(jù)庫 update更新慢的原因
這篇文章主要介紹了解決postgresql 數(shù)據(jù)庫 update更新慢的原因,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
Postgresql的select優(yōu)化操作(快了200倍)
這篇文章主要介紹了Postgresql的select優(yōu)化操作(快了200倍),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
基于postgresql數(shù)據(jù)庫鎖表問題的解決
這篇文章主要介紹了基于postgresql數(shù)據(jù)庫鎖表問題的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
PostgreSQL 數(shù)據(jù)庫跨版本升級常用方案解析
這篇文章主要介紹了PostgreSQL 數(shù)據(jù)庫跨版本升級常用方案解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
使用python-slim鏡像遇到無法使用PostgreSQL的問題及解決方法
這篇文章主要介紹了使用python-slim鏡像遇到無法使用PostgreSQL的問題及解決方法,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-08-08

