我正在尝试对 result1 和 result2 的值求和,但结果出现未知的列 result1。有人可以帮忙吗?我做错了什么。
SELECT *
,case when event1 = '100mh' then 25.4347*power(sum(18.00-10.40),1.81) end as result1
,case when event2 = 'highjump' then 9.4347*power(sum(14.00-145),1.835) end as result2
,SUM(result1 + result2 )as total
from heptathlon
group by athlete_id
最佳答案
试试这个:
SELECT t.*, sum(t.result1 + t.result2) AS total
FROM ( SELECT b.*,
CASE
WHEN b.event1 = '100mh'
THEN
25.4347 * POWER (SUM (18.00 - 10.40), 1.81)
END
AS result1,
CASE
WHEN b.event2 = 'highjump'
THEN
9.4347 * POWER (SUM (14.00 - 145), 1.835)
END
AS result2
FROM heptathlon b
GROUP BY b.athlete_id) t
关于mysql - 'result1' 中的未知列 'field list',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46954073/