Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql-从中选择。。到_Mysql_Select_Rows - Fatal编程技术网

mysql-从中选择。。到

mysql-从中选择。。到,mysql,select,rows,Mysql,Select,Rows,在MySQL中是否可以为特定范围的项目选择行 例如,当我想按字母顺序选择名称的第一个字母在B和T之间的所有项目时。 我知道我也可以使用PHP,但如果在MySQL中可以这样做,我会节省一些时间 是否可能,如果可能,如何实现 理想情况如下: $sql="SELECT * FROM paths FROM name=name1 TO name=name6"; //which would select name1, 2, 3, 4, 5, 6. 在之间使用基本上可以达到目的,但你需要在你想要结束的地方使

在MySQL中是否可以为特定范围的项目选择行

例如,当我想按字母顺序选择名称的第一个字母在B和T之间的所有项目时。 我知道我也可以使用PHP,但如果在MySQL中可以这样做,我会节省一些时间

是否可能,如果可能,如何实现

理想情况如下:

$sql="SELECT * FROM paths FROM name=name1 TO name=name6"; //which would select name1, 2, 3, 4, 5, 6.

在之间使用
基本上可以达到目的,但你需要在你想要结束的地方使用一个字母。尝试直到你得到你想要的结果

SELECT * FROM paths WHERE UPPER(name) BETWEEN 'B' AND 'U';
这里的想法是,所有以“T”开头的内容都将按字母顺序排列在以“U”开头的内容之前。您需要通过
upper()
将其转换为大写,这样您就不会遇到潜在的排序问题

因此,您的结果可能是:

B,
Bill
Bob
Jane
Tommy
Travis

但是
Uwe
(他是德国人)将被排除在外。

之间使用
基本上可以达到目的,但你需要在你想结束的地方使用一个字母。尝试直到你得到你想要的结果

SELECT * FROM paths WHERE UPPER(name) BETWEEN 'B' AND 'U';
这里的想法是,所有以“T”开头的内容都将按字母顺序排列在以“U”开头的内容之前。您需要通过
upper()
将其转换为大写,这样您就不会遇到潜在的排序问题

因此,您的结果可能是:

B,
Bill
Bob
Jane
Tommy
Travis

但是
Uwe
(他是德国人)将被排除在外。

您可以在
之间使用
,如:

SELECT * FROM paths WHERE name BETWEEN 'B' AND 'U'

您可以在
之间使用
,如:

SELECT * FROM paths WHERE name BETWEEN 'B' AND 'U'

含糖的谢谢这正是我要找的!部分匹配是否也可以这样做,例如,当名称为、BAA、BBB、CDA、CEF、PFE等时?@laarsk部分匹配受相同规则的约束,因此是的,它应该可以工作。换句话说,只要它以
U
之前的内容开头,它就会被包括在内。太好了,非常感谢![仍然需要等待4分钟才能将此标记为答案…]但是,在name上使用函数会扼杀任何使用索引的机会。如果使用区分大小写的排序规则,最好使用
where(名称在'B'和'U'之间或名称在'B'和'U'之间)
。太好了!谢谢这正是我要找的!部分匹配是否也可以这样做,例如,当名称为、BAA、BBB、CDA、CEF、PFE等时?@laarsk部分匹配受相同规则的约束,因此是的,它应该可以工作。换句话说,只要它以
U
之前的内容开头,它就会被包括在内。太好了,非常感谢![仍然需要等待4分钟才能将此标记为答案…]但是,在name上使用函数会扼杀任何使用索引的机会。如果使用区分大小写的排序规则,最好使用
where(名称在'B'和'U'之间或名称在'B'和'U'之间)
。不,参数2应该是'name7',否则,name6将不会被夹在两者之间(因此其他人使用'U'表示结束get'T's不,参数2应该是'name7',或者,name6不会被夹在中间(因此其他人使用'U'表示结束get'T's