如何消除SQL中的重复计算?

Che*_*eng 4 mysql sql query-optimization

我有一个可以简化为的SQL:

SELECT * 
  FROM table 
 WHERE LOCATE( column, :keyword ) > 0 
ORDER BY LOCATE( column, :keyword )
Run Code Online (Sandbox Code Playgroud)

您可以看到"LOCATE(column,:keyword)"的副本.有没有办法只计算一次?

Jef*_*ber 5

SELECT *, LOCATE( column, :keyword ) AS somelabel 
FROM table 
WHERE somelabel > 0 
ORDER BY somelabel
Run Code Online (Sandbox Code Playgroud)