【发布时间】:2020-01-05 03:18:17
【问题描述】:
从具有名称列的数据集 character 中,我想查询最短和最长名称的两个名称,以及它们各自的长度,以及当有多个最小或最大的名字,我选择按字母顺序排列的第一个。
通过该查询,我得到了所有最短和最长的名字 (A)
SELECT
name, LENGTH(name) AS LEN
FROM
character
WHERE
length(name) = (SELECT MAX(LENGTH(name)) FROM character)
OR length(name) = (SELECT MIN(LENGTH(name)) FROM character)
有了这个,我得到了所有最短的名字,除了第一个按字母顺序排列的名字 (B)
SELECT
name, LENGTH(name) AS LEN
FROM
character
WHERE
length(name) = (SELECT MIN(LENGTH(name)) FROM character)
ORDER BY
name DESC
LIMIT 10 OFFSET 2;
当我尝试从 A
中删除 BA EXCEPT B
我希望保留第一个最短的名字,但它没有出现。
【问题讨论】: