在Postgresql中划分2个计数语句

时间:2018-05-16 09:45:27

标签: postgresql

我确实有一个关于下面2个计数语句的划分的问题,它给我下面的错误。

(SELECT COUNT(transactions.transactionNumber)
         FROM transactions
          INNER JOIN account ON account.sfid = transactions.accountsfid
          INNER JOIN transactionLineItems ON transactions.transactionNumber 
           = transactionLineItems.transactionNumber
          INNER JOIN products ON transactionLineItems.USIM = products.USIM
            WHERE products.gender = 'male' AND products.agegroup = 'adult' 
              AND transactions.transactionDate >= current_date - interval 
                  '730' day)/
            (SELECT COUNT(transactions.transactionNumber)
            FROM transactions
            WHERE transactions.transactionDate >= 
            current_date - interval '730' day)
ERROR:  syntax error at or near "/"
LINE 6: ...tions.transactionDate >= current_date - interval '730' day)/``

我认为问题是,我的计数语句正在创建表格,而表格的划分是问题所在,但我怎样才能使这个部门工作? 之后我想根据百分比检查结果,例如< 0.2。

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

这是您的完整查询吗?这样的东西适用于Postgres 10:

SELECT (SELECT COUNT(id) FROM test WHERE state = false) / (SELECT COUNT(id) FROM test WHERE state = true) as y

与分部的两个子查询前面的额外SELECT是重要的。否则我也会收到你提到的错误。

另请参阅此查询的DB Fiddle版本。