如何将以下3个select语句包含在单个mySQL视图中

问题描述 投票:2回答:1

需要创建一个执行以下3个select语句的视图

我能够在SQL编辑器中执行它们并获得比率。

select @lag := count(twitter_handles) from handle_impressions where today_impressions > yest_impressions;
select @decay := count(twitter_handles) from handle_impressions where today_impressions < yest_impressions;
select @ratio := @lag/@decay;

目的是使用单个视图封装3个select语句以返回滞后,衰减和比率

mysql view
1个回答
2
投票

我们可以尝试使用条件聚合编写单个查询:

SELECT
    COUNT(CASE WHEN today_impressions > yest_impressions THEN 1 END) AS lag_val,
    COUNT(CASE WHEN today_impressions < yest_impressions THEN 1 END) AS decay_val,
    COUNT(CASE WHEN today_impressions > yest_impressions THEN 1 END) /
        COUNT(CASE WHEN today_impressions < yest_impressions THEN 1 END) AS ratio
FROM handle_impressions;
© www.soinside.com 2019 - 2024. All rights reserved.