【问题标题】:why sql query giving error unknown column to an alias为什么sql查询将错误未知列赋予别名
【发布时间】:2019-11-04 00:08:21
【问题描述】:

为什么这个 sql 查询会出错?

SELECT
  dt_created AS "time",
  humidity,
  ((temp* 1.8) + 32) AS temp_f,
  (-42.379 + 2.04901523 * temp_f + 10.14333127*humidity - .22475541* temp_f * humidity - .00683783 * temp_f* temp_f - .05481717*humidity*humidity + .00122874 * temp_f * temp_f*humidity + .00085282 * temp_f*humidity*humidity - .00000199 * temp_f * temp_f*humidity*humidity)  AS  "Feels Like"
FROM particle_photon
WHERE
  dt_created BETWEEN FROM_UNIXTIME(1572739408) AND FROM_UNIXTIME(1572825808)
ORDER BY dt_created;

错误是Error 1054: Unknown column 'temp_f' in 'field list' 但我确实在别名中声明了temp_f

【问题讨论】:

    标签: mysql grafana


    【解决方案1】:

    您可以将alias 用作columns 的一部分。您需要将其放入subquery 并进行必要的计算。

    select time
        , humidity
        , temp_f
        , (-42.379 + 2.04901523 * temp_f + 10.14333127*humidity - .22475541* temp_f * humidity - .00683783 * temp_f* temp_f - .05481717*humidity*humidity + .00122874 * temp_f * temp_f*humidity + .00085282 * temp_f*humidity*humidity - .00000199 * temp_f * temp_f*humidity*humidity)  AS  "Feels Like"
    from (select
          dt_created as "time",
          humidity,
          ((temp* 1.8) + 32) AS temp_f
        from particle_photon
        where
          dt_created between FROM_UNIXTIME(1572739408) AND FROM_UNIXTIME(1572825808)
        order by dt_created) as t1
    

    如果您不想使用subquery,请将temp_f 替换为((temp* 1.8) + 32)

    【讨论】:

    • 完美,除了在我的选择查询中有日期和时间在dt_created 这是我的错我将其别名为time
    • 哦,我明白了,你也可以指定表alias你的时间t1.time
    猜你喜欢
    • 2020-01-01
    • 2012-04-01
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 2018-06-20
    相关资源
    最近更新 更多