我有一个场景,我正在计算SQL的WHERE
子句中的某些内容,但我也希望得到这个计算 - 因为它很昂贵。是否有可能在WHERE
子句中得到完成的结果,如下所示:
SELECT `foo` FROM `table` WHERE (foo = LongCalculation(`column`))
一厢情愿,还是MySQL的可能?
编辑:计算与列相关
答案 0 :(得分:3)
set @bar = LongCalculation();
select foo from table where foo=@bar;
答案 1 :(得分:0)
@ cherouvim的想法有点重新工作,我让它使用行依赖函数:
set @bar = 0;
SELECT
`product_name`,
@bar AS `stock`
FROM `jos_vm_product`
WHERE (@bar := `product_in_stock`) > 0