MySQL引用,以避免重复自己?

Cod*_*key 5 mysql

我有这个片段:

SELECT 
    CASE WHEN
        AVG(UNIX_TIMESTAMP(tDone)-UNIX_TIMESTAMP(tIPN))/3600 >= 10
    THEN
        ROUND(AVG(UNIX_TIMESTAMP(tDone)-UNIX_TIMESTAMP(tIPN))/3600,0)
    ELSE
        ROUND(AVG(UNIX_TIMESTAMP(tDone)-UNIX_TIMESTAMP(tIPN))/3600,1)
    END 
FROM
    ...
Run Code Online (Sandbox Code Playgroud)

我可以做任何事情来删除重复吗?沿着这些方向的东西,例如:(假设代码如下):

SET var = AVG(UNIX_TIMESTAMP(tDone)-UNIX_TIMESTAMP(tIPN))/3600
SELECT 
    CASE WHEN
        var > 10
    THEN
        ROUND(var,0)
    ELSE
        ROUND(var,1)
    END 
FROM
    ...
Run Code Online (Sandbox Code Playgroud)

ton*_*gil 1

是的,可以,但对于用户定义的变量,变量处理顺序未定义。 MySQL 文档中的此参考解释了此功能何时有效、何时无效。