gpt4 book ai didi

MySQL:在选择本身中使用选择中的值

转载 作者:IT王子 更新时间:2023-10-28 23:49:01 26 4
gpt4 key购买 nike

首先,如果有人有更好的标题请帮助。

如果我有一个带有“日”列的“日历”表。我有以下查询:

SELECT day, day AS testDay, testDay AS test2Day FROM calendar

MySQL 会提示“testDay”是一个未知列。当然你会告诉我这个语句没有用,但我的语句看起来更像这样:

SELECT day, SOME_CRAZY_EXPRESSION_OF(day) AS testDay, EXPRESSION_OF(testDay) AS test2Day FROM calendar

关键是我不想对第一个表达式求值两次以在第二个表达式中使用它。那么有没有办法将在选择中计算的值用作选择本身的一部分?

当然可以:

SELECT day, SOME_CRAZY_EXPRESSION_OF(day) AS testDay, EXPRESSION_OF(SOME_CRAZY_EXPRESSION_OF(day)) AS test2Day FROM calendar

但我正在努力避免浪费。如果我别无选择,那就是我会做的。

最佳答案

在 MySQL 中,您需要为表达式的值分配一个临时变量以便能够重用它,应该这样做;

SELECT day, @tmp:=SOME_CRAZY_EXPRESSION_OF(day) AS testDay, 
EXPRESSION_OF(@tmp) AS test2Day FROM calendar

参见 this page另一个例子,对性能影响进行了更多分析。

关于MySQL:在选择本身中使用选择中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9052815/

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