我想写一个查询,其名称的第一个字符有a或b或c或cg

psa*_*jib 0 php mysql

我想写一个查询,其名称的第一个字符有abcc-g.我有按字母顺序排列的名称列表A-Z.我想按字母顺序排列的3个步骤来过滤 A-G,G-M,N-Z.

通过单击A-G记录显示从第一个字符开始的名称A-G

mysql_query("select * from users where name like "A%" or name like "B%" or name like "C%" or name like "D%" or name like "E%" or name like "F%" or name like "G%"");
Run Code Online (Sandbox Code Playgroud)

但我不想写几次这样的

所以有没有简单的方法,而不是写几次.

tCo*_*ode 6

你可以试试

mysql_query("select * from users where LOWER(SUBSTR(name, 1, 1)) IN ('a','b','c','d','e','f','g')");
Run Code Online (Sandbox Code Playgroud)


Nie*_*sol 5

REGEXP 可以在这里运作良好:

SELECT ........ WHERE `name` REGEXP '^[a-g]'
Run Code Online (Sandbox Code Playgroud)

或者,为了更好地使用索引:

... WHERE `name` < 'G'
Run Code Online (Sandbox Code Playgroud)