MySQL 8.3 Release Notes
您可以使用 MySQL 用户变量来记忆结果,而不需要将其存储在客户端的临时变量中。(见 第 11.4 节,“用户定义变量”。)
例如,要查找最高和最低价格的文章,可以这样做:
mysql> SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop;
mysql> SELECT * FROM shop WHERE price=@min_price OR price=@max_price;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
| 0003 | D | 1.25 |
| 0004 | D | 19.95 |
+---------+--------+-------+
Note
此外,还可以将数据库对象(如表或列)的名称存储在用户变量中,然后在 SQL 语句中使用该变量;但是,这需要使用预备语句。请参阅 第 15.5 节,“预备语句”,以获取更多信息。