我有两个子查询,它们给我一个由日期组成的结果. 我想计算一下它们之间的差额.

例如:

SELECT DATEDIFF(
  DAY,
  (SELECT MAX(invoices.date) FROM invoices WHERE invoices.orderno = odH.orderno),
  (SELECT min(history.date) FROM history WHERE history.orderno = odH.orderno)
) ...

推荐答案

要计算postgres中两个日期之间的差异,只需将一个日期减go 另一个日期即可.以下是修改查询的方法:

SELECT (SELECT MAX(INVOICE.date) FROM INVOICES WHERE INVOICES.orderno = odH.orderno) - (SELECT min(history.date) FROM history WHERE history.orderno = ODH.orderno)

这将为您提供给定订单号的最大发票日期和最小历史日期之间的天数差.

Postgresql相关问答推荐

如何在gorm中创建一个可读但不可写的字段

PostgreSQL按描述请求

如何高效地将行聚合到数组中,同时保留`NULL`来指示丢失的数据?

Postgis超过2个表的查询在运行时爆炸

在插入时创建一个触发器,在PostgreSQL中的另一个表上创建另一个触发器

PostGresql :正则表达式 Select 其中只有一个正斜杠的行

表示 SQL 表的 Go struct

PostgresQL:获取两个数组之间的对应数量

在 jOOQ 中 Select 相同的命名列

PostgreSQL 中的复制槽是否会阻止删除 WALL,即使它们来自另一个数据库?

当脚本工作时,Postgres now() 时间戳不会改变

Rails:创建删除表级联迁移

UPDATE implies move across partitions

Mac psql/readline - 未加载库

Postgresql SERIAL 的工作方式是否不同?

PostgreSQL:如何安装 plpythonu 扩展

在这个 Dockerfile 中创建的 Postgres 用户名/密码在哪里?

SQL Select 一列中具有重复值的所有行

在 postgres 中导出为 CSV 并使用 GZIP 压缩

如何为 adminpack 解决 PostgreSQL pgAdmin 错误Server instrumentation not installed?