我有一个'nama\u pelanggan'列,来自'ms\u 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列。
你能帮我找到解决办法吗?
2条答案
按热度按时间axkjgtzd1#
很棘手。你可以做:
yvgpqqbh2#
第一个select查询将为您提供最大长度的查询,第二个select查询将为您提供最小长度的查询,您可以在查询中添加union,这将添加两个查询的结果
试试这个: