mysql - 'result1' 中的未知列 'field list'

标签 mysql

我正在尝试对 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/

相关文章:

mysql - 如何将多个查询的结果合并为一个结果

mysql - "Cannot convert to a SELECT statement"是什么意思

mysql - 查找所有重复的主题名称 mysql

mysql regexp 其中一些字符 + 1 个未知字符

来自数据库的 PHP OOP 变量

select 中的 MySQL 子查询与外部字段的链接

mysql - 如何更改 MySQL 数据库中的 Piwik 访问网址?

MySQL作业,连接两个表

使用其他表的 ID 更新表的 MYSQL 查询

sql语法中的php mysqli转义字符串错误