回答

收藏

如何与postgres约会

技术问答 技术问答 225 人阅读 | 0 人回复 | 2023-09-12

我试图查询并返回过去四个星期中所有记录的总和。我使用了时间戳,但是可以使用。我正在尝试更改精度,并仅使用日期。* K& O4 \+ {2 A5 `) D$ M% O1 Q
简短地代替时间戳范围,我只需要日期范围。+ r1 E! ^" p/ d  n$ d- }. t  Z8 `7 n
这就是我在时间戳记上的意思。# D' q& W3 {* i1 a
with date_ranges (range_name, range_dates) as$ J* e8 C- a3 x4 L) s
              ( values ('week_0', tstzrange ((now()-interval '6 days'),  now(),'[]'))
# L, \$ d6 d4 D" a$ Z* f                      , ('week_1', tstzrange ((now()-interval '13 days'), (now()-interval '7 days'), '[]'))" Y9 c9 e' Q! ~4 p2 ^
                      , ('week_2', tstzrange ((now()-interval '20 days'), (now()-interval '14 days'),'[]')), m6 ^6 D) d* N9 d
                      , ('week_3', tstzrange ((now()-interval '27 days'), (now()-interval '21 days'),'[]'))
+ k  A' D4 _/ K0 F7 A) e4 j4 v              ) $ a  T( }/ S* Y/ o' l) i" H, t
  select range_name, range_dates, sum("transactionTotal") total_amount
- I! Y! [" ], {2 g; r: m4 g  from "MoneyTransactions" mt
+ z% N6 J& n1 K0 _7 h% o8 `" X  join date_ranges dr on (mt."createdAt" 我尝试更改tstzrange,daterange但出现以下错误8 b: ?+ `* t) F( g
% t# \  }) {2 l6 R) r  W
函数daterange(带时区的时间戳,带时区的时间戳,未知)不存在
! X: \9 y" D2 p% l. D
5 h  U# Y) d7 g: [  n
我对SQL的了解不多,所以对它的解释不多。
* Y2 x$ N& h% n( w/ u3 U+ O                7 I: H  d$ d" |+ X* s4 A
解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则