如何在mysql中对返回多个值的查询执行计算

如何在mysql中对返回多个值的查询执行计算,mysql,Mysql,第一个问题: SELECT COUNT(sales.ucid) AS totalOutcomes FROM sales group by date(sales.saleDate) 第二个问题: SELECT COUNT(*) AS joinedOutcomes FROM sales JOIN calls ON sales.ucid = calls.call_id group by date(sales.saleDate) 现在我想使用第二个查询的输出,并将其除以第一个查询的输出。 有人能帮

第一个问题:

SELECT COUNT(sales.ucid) AS totalOutcomes
FROM sales
group by date(sales.saleDate)
第二个问题:

SELECT COUNT(*) AS joinedOutcomes
FROM sales
JOIN calls 
ON sales.ucid = calls.call_id
group by date(sales.saleDate)
现在我想使用第二个查询的输出,并将其除以第一个查询的输出。 有人能帮忙吗?谢谢

连接两个查询

SELECT t1.date, joinedOutcomes/totalOutcomes
FROM (
    SELECT date(sales.saleDate) AS date, COUNT(sales.ucid) AS totalOutcomes
    FROM sales
    GROUP BY date
) AS t1
JOIN (
    SELECT date(sales.saleDate) AS date, COUNT(*) AS joinedOutcomes
    FROM sales
    JOIN calls ON sales.ucid = calls.call_id
    group by date
) AS t2 ON t1.date = t2.date

让我们孤立地考虑第一个查询。你不知道哪一个总数属于哪一个日期,这难道不困扰你吗?它起作用了,但我不得不将变量的名称从日期改为d1和d2,因为我得到了这个错误:错误代码:1052。字段列表中的“日期”列不明确。但是谢谢你的帮助!我用一种更简单的方法修复了它。