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

时间:2015-08-21 06:36:52

标签: sql vertica

我想进行如下查询:

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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