gpt4 book ai didi

mysql - 在mySQL中使用 'where'时无法使用 'timestampdiff'

转载 作者:行者123 更新时间:2023-11-29 07:36:54 26 4
gpt4 key购买 nike

我正在尝试执行以下功能。

%%sql SELECT Dog_Guid, start_time, end_time, TIMESTAMPDIFF(MINUTE, start_time, end_time) AS Duration
from exam_answers
where Duration > 0
order by duration desc
limit 10

我正在产生这个错误:

(_mysql_exceptions.OperationalError) (1054, "Unknown column 'Duration' in 'where clause'") [SQL: 'SELECT Dog_Guid, start_time, end_time, TIMESTAMPDIFF(MINUTE, start_time, end_time) AS Duration\nfrom exam_answers\nwhere Duration > 0\norder by duration desc\nlimit 10']

这是因为我不能在别名上使用 where 还是因为我不能在派生列上使用 where?我不明白我在这里做错了什么。我想做的只是输出所有 0 更大的列(该列也有空值,因此......)。

最佳答案

你不能在where子句中使用别名

SELECT Dog_Guid, start_time, end_time, TIMESTAMPDIFF(MINUTE, start_time, end_time) AS Duration
from exam_answers
where TIMESTAMPDIFF(MINUTE, start_time, end_time) > 0
order by duration desc
limit 10

where 子句先于 select 子句处理 .. 所以在处理别名的时候不知道

有关详细信息,请参阅手册“Problems with Column Aliases”。

关于mysql - 在mySQL中使用 'where'时无法使用 'timestampdiff',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48389523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com