如何解决SQLZOO中的#7选择名称部分

Kua*_*uan 5 sql

所有:

我现在主义学习SQL,但是停留在 #7

http://sqlzoo.net/wiki/SELECT_names

Bahamas has three a - who else?

Find the countries that have three or more a in the name
Run Code Online (Sandbox Code Playgroud)

谢谢

Tim*_*sen 12

尝试使用LIKE运算符:

SELECT name FROM world
WHERE name LIKE '%a%a%a%'
Run Code Online (Sandbox Code Playgroud)

如果你想要做的任何区分大小写的搜索a 或者 A,你可以使用LOWER()函数:

SELECT name FROM world
WHERE LOWER(name) LIKE '%a%a%a%'
Run Code Online (Sandbox Code Playgroud)

编辑:

我们也可以REGEXP在这里使用:

SELECT name FROM world
WHERE name REGEXP '(.*[a]){3,}';
Run Code Online (Sandbox Code Playgroud)

但是,对于这个特定的例子,我会选择LIKE,因为它可能会比使用更好,而且开销更少REGEXP.