0

我想要实际的列值以及截断的列值,如下所示。任何人都可以提供帮助。

Select "sub1"."TimestampField","month_trunc1","month_trunc2" 
from (
   Select  "Id", date_trunc('month', "TimestampField") as "month_trunc1", "TimestampField" 
   from "Table"
) as "sub1", (
  Select  "Id", date_trunc('month', "TimestampField") as "month_trunc2", "TimestampField" 
  from "Table"
) as "sub2" 
WHERE "month_trunc2" = ("month_trunc1"+interval '1 month');
4

1 回答 1

0

您可以通过在同一个表上使用 JOIN 来简化示例:

 SELSECT 
   "sub1"."mainfield",
   "sub1"."TimestampField" as month1, 
   "sub2"."TimestampField" as month2, 
   date_trunc('month', "sub1"."TimestampField") as "month_trunc1", 
   date_trunc('month', "sub2"."TimestampField") as "month_trunc2"
 FROM "Table" "sub1" 
 JOIN "Table" "sub2"
       ON "month_trunc2" = ("month_trunc1"+interval '1 month');
于 2018-06-07T09:48:37.297 回答