首页 > 解决方案 > 获取一个月内所有日期的年龄 Postgresql 查询

问题描述

我有一个安装容量日期,即 wcc_from_date。在这里,我想获取 2020 年 5 月所有日期的年龄。我正在尝试以下查询

SELECT DATE_PART('year', AGE((select wwoc_date 
                               FROM wb_water_op_charge_detail, 
                                    wb_water_op_charge_master 
                               where to_char(wwoc_date, 'MM YYYY') = '05 2020' 
                                 and wwoc_internal_id = wwoc_ref_id), wcc_from_date)) AS years 
FROM wb_installed_capacity

但它返回我以下错误

错误:用作表达式的子查询返回多行 SQL 状态:21000

如何在 AGE 函数中传递每个日期并获得 31 组年龄?

标签: postgresqlbirtgenerate-series

解决方案


这意味着您的嵌套 SELECT 返回不止一行。

ERROR: more than one row returned by a subquery used as an expression SQL state: 21000

您需要为其添加适当的 WHERE 子句或对子查询使用 LIMIT 1。


推荐阅读