mysql - 如何将以下 3 个 select 语句包含在单个 mySQL View 中

标签 mysql view

需要创建一个执行以下 3 个 select 语句的单个 View

我可以在 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;

目的是让单个 View 封装 3 个选择语句以返回滞后、衰减和比率

最佳答案

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

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;

关于mysql - 如何将以下 3 个 select 语句包含在单个 mySQL View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55437960/

相关文章:

php - CSS 类在 PHP 脚本后不起作用

mysql - 如何删除MySQL中数据库所有表中的所有行?

ios - 切换到另一个 View 时隐藏键盘

ios - View 下的 UItab

ruby-on-rails - 更改 Rails 中的默认 View 路径?

sql-server - 我可以使用外键引用 SQL Server View 中的列吗?

java - 使用 Spring MVC 修改数据库对象列表的正确方法是什么?

mysql - 有条件地删除光滑的表

mysql/mariadb 单一数据库复制,仅针对该单一数据库进行读写分割

ruby-on-rails - 在 Rails 上重用 View