Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
下面3条select语句如何包含在一个mySQL视图中_Mysql_View - Fatal编程技术网

下面3条select语句如何包含在一个mySQL视图中

下面3条select语句如何包含在一个mySQL视图中,mysql,view,Mysql,View,需要创建一个执行以下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 < yes

需要创建一个执行以下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;
select@lag:=count(twitter\u handles)from handle\u impressions where today\u impressions>yest\u impressions;
选择@decay:=从今天的印象<是的印象中的印象中计数(twitter的印象);
选择@ratio:=@lag/@decay;

其目的是使用单个视图封装3条select语句,以返回lag、DECATION和ratio

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

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;
选择
将(今天的印象>是的印象然后1结束时的情况)计算为滞后值,
将(今天的印象<是的印象然后1结束时的情况)计算为衰退值,
计数(如果今天的印象>是的印象,则1结束)/
按比例计算(今天的印象<是的印象,然后1个结束时的情况)
从手感到印象;

今天的印象=是的印象时,您错过了这个案例。这是故意的吗?您可能还希望有某种类型的措施来防止除以0。良好的捕获,将其中一个比较更改为