mysql - MYSQL SELECT 语句中如何划分子查询?

标签 mysql

我试图在 select 语句中划分 2 个子查询,如何做到这一点? 预期结果:

total_completed/总计 = 率。

SELECT (SELECT Count(id)
    FROM   campaign_results)                  AS total,
   (SELECT Count(id)
    FROM   campaign_results
    WHERE  status = 'completed') AS total_completed,
   ( total_completed / total )                AS rate
FROM   `campaigns`  

最佳答案

您可以在此处使用条件聚合并避免将子查询放入 select 子句中:

SELECT
    COUNT(*) AS total,
    COUNT(CASE WHEN status = 'completed' THEN 1 END) AS total_completed,
    COUNT(CASE WHEN status = 'completed' THEN 1 END) / COUNT(*) AS rate
FROM campaigns;

关于mysql - MYSQL SELECT 语句中如何划分子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49984430/

相关文章:

mysql - 您如何知道在哪个程序中使用哪个 mySQL 代码?

Mysql 转换为单选查询

mysql - 如何在 C 中导出不透明类型

mysql - 如何根据数据库2中的表在数据库1中创建 View

mysql - Talend MySql String To MySql Date 用于存储和差异计算

mysql - 如何分析MySQL Slow Query Log或MySQL General Query Log?

php - 具有 COUNT(URL) 查询的多个变量

mysql - 是否可以从 url 将 sql 文件导入 mysql 数据库

mysql - SQL - SELECT 中的 SELECT

mysql - Toad for MySQL 使用什么来更换皮肤?