我在'nama_pelanggan‘表中有一个'ms_pelanggan’列。
+---------------------+
| nama_pelanggan |
+---------------------+
| Eva Novianti, S.H. |
| Heidi Goh |
| Unang Handoko |
| Jokolono Sukarman |
| Tommy Sinaga |
| Irwan Setianto |
| Agus Cahyono |
| Maria Sirait |
| Ir. Ita Nugraha |
| Djoko Wardoyo, Drs. |
+---------------------+ 问题是,如何显示名字最长的人的名字(在最上面的行)和最短的人名(在下一行)。我试着用:
SELECT nama_pelanggan
FROM ms_pelanggan
WHERE LENGTH(nama_pelanggan) in (
SELECT MAX(LENGTH(nama_pelanggan)), MIN(LENGTH(nama_pelanggan))
FROM ms_pelanggan
);但显示:
第2行的
错误1241 (21000):操作数应该包含1列。
你能帮我找到解决办法吗?
发布于 2020-07-29 18:15:01
首先,select查询将给出最大长度的查询,第二个select查询将给出最小长度的查询,您可以在查询中添加Union,这将添加两个查询的结果
试试这个:
Select column
from table
order by length(column) desc
limit 1
Union
Select column
from table
order by length(column)
limit 1; https://stackoverflow.com/questions/63159288
复制相似问题