使用psycopg2获取最大值和最小值

2024-10-02 00:39:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试获取特定日期之间某列的最大值和最小值。虽然我认为这个问题是正确的,但我没有得到任何答案

为了连接到数据库,我正在使用psycopg2

这是我要使用的查询:

querySentence = """
            SELECT MIN (t."NOMBRE_CAMPO") , MAX(t."NOMBRE_CAMPO")
                FROM {} t 
                JOIN "TABLA_B" tb
                    on t."NOMBRE_CAMPO" = tb."NOMBRE_CAMPO"
                WHERE  tb."Fecha" < %s AND tb."Fecha" >= %s;
                """

下面是我如何使用它:

cur.execute(
                sql.SQL(querySentence)
                .format(sql.Identifier(table)),
                [minDate, minDate])
result = cur.fetchone()

为了验证查询,我使用了以下代码:

print(cur.mogrify(sql.SQL(querySentence)
                .format(sql.Identifier(table)),
                [maxDate , minDate]))

返回一个有效的SQL语句:

SELECT MIN (t."NOMBRE_CAMPO") , MAX(t."NOMBRE_CAMPO")
              FROM "TABLA" t 
              JOIN "TABLA_B" tb
                  on t."NOMBRE_CAMPO" = tb."NOMBRE_CAMPO"
              WHERE  tb."Fecha" < '2021-01-01'::date AND tb."Fecha" >= '2020-12-01'::date;

我直接在数据库上尝试了这个SQL语句,得到了我想要的结果,而在我的代码中,我得到了以下结果值:(None, None)


Tags: from数据库sqlminselecttbmaxcur

热门问题