我有以下查询:
SELECT
`people`.`surename`,
calcWeight(`people`.`surname`,'kiera',6)
as `weight`
FROM
`people`
LEFT JOIN
`dogs`
ON
`people`.`id` = `dogs`.`owner`
ORDER BY
`weight` DESC
问题是我需要删除所有结果 where weight
,这是我计算的值是 0。我认为它会 WHERE weight
> 0 但显然weight
直到 where 子句之后才存在。我不知道我是打算移动weight
计算的位置还是移动 WHERE。
我不想做
WHERE calcWeight(`people`.`surname`,'kiera',6) > 0
因为 calcWeight 需要很长时间来计算(当它发生在数千行上时)而且我不知道它是否会缓存结果并重新使用它。
任何帮助和建议都会很棒!谢谢 !