我需要根据其他操作结果进行操作。例如:基于其他操作结果的MySQL查询操作
SELECT
SUM(first_column) as res1,
SUM(second_column) as res2,
res1/res2 as res3
FROM my_table
但是,它似乎只能对现有列进行操作。这个用例的解决方法是什么?
我需要根据其他操作结果进行操作。例如:基于其他操作结果的MySQL查询操作
SELECT
SUM(first_column) as res1,
SUM(second_column) as res2,
res1/res2 as res3
FROM my_table
但是,它似乎只能对现有列进行操作。这个用例的解决方法是什么?
您可以使用子查询来实现这一目标。 事情是这样的:
SELECT res1, res2, res1/res2 as res3
(SELECT SUM(xxx) as res1, SUM(xxx) as res2
FROM yyy) as subquery
谢谢,这正是我在寻找! – jeanmonod
尝试类似:
SELECT res1/res2 as res3
FROM (SELECT SUM(xxx) as res1, SUM(xxx) as res2
FROM yyy))
SELECT res1/res2 as res3
FROM (SELECT SUM(xxx) as res1, SUM(xxx) as res2
FROM yyy))
这应该工作
您可以使用您的问题这段代码块:
select t.res1
,t.res2
,t.res1/t.res2 as res3
from (select sum(xxx) as res1
,sum(xxx) as res2
from yyy) t
OR
不推荐,但作品。
select sum(xxx1) as res1
,sum(xxx2) as res2
,sum(xxx1)/sum(xxx2) as res3
from yyy
那么你可以说结果集..和整个查询 –