【发布时间】:2018-06-11 09:03:20
【问题描述】:
是否可以通过表格中的字符来选择最短和最长的字符串?
我有一个VARCHAR(20) 类型的CITY 列,我想按长度的字母顺序选择最短和最长的城市名称。
我喜欢这个
SELECT CITY,LENGTH(CITY) FROM STATION WHERE LENGTH(CITY) IN ( SELECT MAX(LENGTH(CITY)) FROM STATION UNION SELECT MIN(LENGTH(CITY)) FROM STATION ) ORDER BY CITY ASC;
按字母顺序排列时,让 CITY 名称列为 ABC、DEF、PQRS 和 WXY,长度分别为 3、3、4 和 3。名称最长的城市显然是 PQRS,但有以下选项名字最短的城市;我必须选择 ABC,因为它按字母顺序排在第一位。
我的查询以所有三个长度为 3 的 CITY 结束。
ABC 3 DEF 3 PQRS 4 WXY 3
SELECT 的结果必须是
ABC 3 PQRS 4
【问题讨论】:
-
LIMIT 1,获得至少2个城市?领带呢?
-
@LAVKUMARVISHWAKARMA,请注意,链接的问题是针对 MySQL 以外的其他一些 dbms。
-
@jarlh mysql也有很多答案。