sql - SQL中如何消除重复计算?

标签 sql mysql query-optimization

我有一个 SQL 可以简化为:

SELECT * 
  FROM table 
 WHERE LOCATE( column, :keyword ) > 0 
ORDER BY LOCATE( column, :keyword )

您可以看到“LOCATE( column, :keyword )”的重复项。有没有办法只计算一次?

最佳答案

SELECT *, LOCATE( column, :keyword ) AS somelabel 
FROM table 
WHERE somelabel > 0 
ORDER BY somelabel

关于sql - SQL中如何消除重复计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1595659/

相关文章:

sql - 为什么此SQL查询这么慢?

SQL 按两列的组合值进行分组

SQL 变量与 xml 的连接

sql - 在 SQL 中跨表同步 N 个值

php - Prestashop 产品功能 PHP SQL

mysql - 对 mysql 中的查询进行双重排序

php - 将 MySQL 数据转换为 JSON 并包含 MySQL 计数

使用比较运算符时的 MYSQL 性能

mysql - R Shiny - mysql 连接不适用于 server.R(适用于其他文件)

MySQL 按顺序查找每组最近/最大记录