行数为的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