回答

收藏

如何与postgres约会

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

我试图查询并返回过去四个星期中所有记录的总和。我使用了时间戳,但是可以使用。我正在尝试更改精度,并仅使用日期。
7 l4 j7 D6 t: N/ J9 e) {# n, J简短地代替时间戳范围,我只需要日期范围。+ H8 i& N6 R2 _- z5 X6 i/ e% g
这就是我在时间戳记上的意思。/ {+ T( E) m* O' E
with date_ranges (range_name, range_dates) as
8 h' r1 }+ s- F' k9 k8 K              ( values ('week_0', tstzrange ((now()-interval '6 days'),  now(),'[]'))
4 L' n, }  \! g8 |                      , ('week_1', tstzrange ((now()-interval '13 days'), (now()-interval '7 days'), '[]'))
" Q+ }1 Z& Y$ ~5 Z/ y/ t                      , ('week_2', tstzrange ((now()-interval '20 days'), (now()-interval '14 days'),'[]'))4 W" T  b1 L' k7 ^/ D+ r
                      , ('week_3', tstzrange ((now()-interval '27 days'), (now()-interval '21 days'),'[]')) 6 {  E* P$ n$ v
              )
7 `5 C: ^5 Q5 e3 J9 k# ]& p  select range_name, range_dates, sum("transactionTotal") total_amount + y, T! a: ?- W2 H1 M6 n
  from "MoneyTransactions" mt! L0 W" j7 ?7 W6 ^0 h
  join date_ranges dr on (mt."createdAt" 我尝试更改tstzrange,daterange但出现以下错误
: W7 Z; t7 F! I' f5 P9 r- q( }5 I; d4 f' f2 G  P
函数daterange(带时区的时间戳,带时区的时间戳,未知)不存在
1 Z7 {9 Q6 X; Z' v" @7 T0 d
- v3 [* a7 y( Z! ~( z
我对SQL的了解不多,所以对它的解释不多。
) }' u0 w' ~# n. h  L$ y0 j, N$ O               
5 j# c& e- @! r8 k: Y8 A解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则