有没有办法在 mysql 的 where 子句中使用像 min 这样的 sql 函数作为值?

Is there a way to use sql functions like min as values in where clause of mysql?

我对 mysql 语句有疑问...答案是从按字母顺序排列的 table 命名站点获取城市名称和最小长度的城市长度城市名称我已经尝试了如下所述的一些陈述。

SELECT City, LENGTH(City) FROM Station ORDER BY City WHERE LENGTH(City) = MIN(LENGTH(City));

我也试过像下面这样使用用户定义的变量:

SELECT @min := MIN(LENGTH(City)) FROM Station ORDER BY City;

SELECT City, LENGTH(City) FROM Station ORDER BY City WHERE LENGTH(City) = @min;

样本输出:Amo 3

它显​​示此错误:检查与您的 MySQL 服务器版本相对应的手册,了解在 'WHERE LENGTH(City) = @min'

附近使用的正确语法

但是无法正常工作,请帮助

我有这个解决方案。我可以使用复杂的 sql 语句通过使用下面的 sql 语句使城市的长度等于最小长度:

SELECT City, LENGTH(City) FROM Station WHERE LENGTH(City) = (SELECT MIN(LENGTH(City)) FROM Station) ORDER BY City LIMIT 1;