MySQL select 其中前三个字母不同

MySQL select where first three letters are different

是否可以做一个 select 语句,它只 returns 结果是你select输入的单词的前三个字母不同? 例如,如果 select russian from info where english = 'defense'; 产生这些结果 обороне,оборонного,оборонное

那我能不能说 select russian from info where english = 'defense' and where first three letters are not 'обо';

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

下面是 table 的示例。

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

我想要其中一个以 обо 开头的结果,我还想要 другой

你可以做到

select russian from table where english = 'defense' and english not like 'обо%';

您可以按 englishrussian 的前 3 个字符和 return russian 的最小值进行分组:

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

参见demo
结果:

english russian
defense обороне
defense другой