选择第一个n-chars相等的行(MySQL)

Las*_*sen 3 regex mysql select

我有一个带有玩家手柄的桌子,像这样:

1 - [N] Laka
2 - [N] James
3 - nor | Brian
4 - nor | John
5 - Player 2
6 - Spectator
7 - [N] Joe 
Run Code Online (Sandbox Code Playgroud)

从那里我想选择所有第一个n-chars匹配的球员,但我不知道这个模式,只是它是第一个n-chars.在上面的例子中,我不想返回行1,2,3,4和7.

在MySQL中,这可能并不是太昂贵吗?

fox*_*oxy 6

如果你知道n的值,你可以做这样的事情(对于n = 3):

Select *
FROM players
WHERE Left(name, 3) in (
   SELECT Left(name, 3)
   FROM players
   GROUP BY Left(name, 3)
   HAVING (Count(*) > 1)
);
Run Code Online (Sandbox Code Playgroud)