行数为的SQL百分比相同的表具有不同的where条件

行数为的SQL百分比相同的表具有不同的where条件,sql,vertica,Sql,Vertica,我想进行如下查询: select count(asterisk) where acción='a'/count(asterisk) where acción='b' * 100 from same_table grouped by day 但我不想使用子查询,是否可以使用联接?我不确定语法是否正确,但您可以使用以下内容: SELECT day, SUM(CASE WHEN "acción" = 'a' THEN 1 ELSE 0 END)

我想进行如下查询:

 select 
     count(asterisk) where acción='a'/count(asterisk) where acción='b' * 100 
 from 
     same_table 
 grouped by day 

但我不想使用子查询,是否可以使用联接?

我不确定语法是否正确,但您可以使用以下内容:

SELECT  day,
        SUM(CASE WHEN "acción" = 'a' THEN 1 ELSE 0 END) AS SUM_A, 
        SUM(CASE WHEN "acción" = 'b' THEN 1 ELSE 0 END) AS SUM_B, 
        SUM(CASE WHEN "acción" = 'a' THEN 1 ELSE 0 END) AS SUM_A / SUM(CASE WHEN "acción" = 'b' THEN 1 ELSE 0 END) * 100 AS result
FROM    your_table
GROUP BY day

这个概念实际上是对您需要的值求和,而不是计数。

我不确定语法是否正确,但您可以使用以下方法:

SELECT  day,
        SUM(CASE WHEN "acción" = 'a' THEN 1 ELSE 0 END) AS SUM_A, 
        SUM(CASE WHEN "acción" = 'b' THEN 1 ELSE 0 END) AS SUM_B, 
        SUM(CASE WHEN "acción" = 'a' THEN 1 ELSE 0 END) AS SUM_A / SUM(CASE WHEN "acción" = 'b' THEN 1 ELSE 0 END) * 100 AS result
FROM    your_table
GROUP BY day

这个概念实际上是对您需要的值求和,而不是计数。

您使用的是什么数据库管理系统?您使用的是什么数据库管理系统?
acción
可能需要引用:
“acción”
可能需要引用:
acción