首页 > 解决方案 > 按长度(城市)排序 ASC 限制 1;在 MYSQL 中不显示第一项

问题描述

我试图显示列表中最小的城市及其长度。它还必须按字母顺序排列第一个,以防有超过 1 个具有相同长度,但每当我使用下面的代码时,我都会收到列表中的第二个。

SELECT CITY, LENGTH(CITY) FROM STATION
ORDER BY LENGTH(CITY) ASC LIMIT 1;

当我使用

ORDER BY LENGTH(CITY) ASC LIMIT 1 OFFSET 1;

而不仅仅是

ORDER BY LENGTH(CITY) ASC LIMIT 1;

我得到了正确的答案。难道我做错了什么?

标签: mysqlsqlsql-order-bylimit

解决方案


ORDER BY LENGTH(CITY)只能按城市名称的长度排序。具有相同长度的城市按任意顺序排列。

如果您想按城市字母顺序排序,请使用:

ORDER BY LENGTH(CITY), CITY

推荐阅读