问题描述
我对 mysql 语句有问题...答案是从名为 station 的表中获取城市名称和最小长度的城市长度,其中按城市名称的字母顺序排序我尝试了一些如下所述的语句.
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;