首页 > 解决方案 > MySQL选择前三个字母不同的地方

问题描述

是否可以执行一个 select 语句,它只返回您选择的单词的前三个字母不同的结果?例如,如果select russian from info where english = 'defense';产生这些结果 обороне,оборонного,оборонное

那我可以说类似的话吗 select russian from info where english = 'defense' and where first three letters are not 'обо';

例如,这只会导致。 `обороне'

该表的示例如下所示。

id,  english,  russian
1    defense   обороне
2    defense   оборонного
3    defense   оборонное
4    defense   другой

我想要以обо开头的结果之一,我也想要другой

标签: mysqlwhere-clauselimit

解决方案


您可以按english的前 3 个字符分组russian并返回 的最小值russian

SELECT english, MIN(russian) russian
FROM info
GROUP BY english, LEFT(russian, 3)

请参阅演示
结果:

英语 俄语
防御 обороне
防御 другой

推荐阅读