我有一个关于这个查询的问题:
SELECT DAYOFYEAR(t.ts_start) AS 'day', YEAR(t.ts_start) AS year, t.o AS value FROM Cryptoforecast_ETH_BTC_1h AS t
当我运行它时,它会显示结果。现在我想过滤一天,添加这样的 WHERE
语句
SELECT DAYOFYEAR(t.ts_start) AS 'day', YEAR(t.ts_start) AS year, t.o AS value FROM Cryptoforecast_ETH_BTC_1h AS t WHERE 'day'=157
但是没有结果和警告:
Truncated incorrect DOUBLE value: 'day'
问题是什么?
最佳答案
只需在 WHERE
子句中重复调用 DAYOFYEAR
:
SELECT
DAYOFYEAR(t.ts_start) AS day,
YEAR(t.ts_start) AS year,
o AS value
FROM Cryptoforecast_ETH_BTC_1h
WHERE DAYOFYEAR(t.ts_start) = 157;
或者,如果您想使用 day
别名,您可以使用重载的 HAVING
子句:
SELECT
DAYOFYEAR(t.ts_start) AS day,
YEAR(t.ts_start) AS year,
o AS value
FROM Cryptoforecast_ETH_BTC_1h
HAVING day = 157;
关于mysql - 如何在 WHERE 子句中使用别名列 day?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48606243/