PHP mysql匹配多行结果

PHP mysql匹配多行结果,php,mysql,database,Php,Mysql,Database,有没有更快的方法从匹配一系列数字的行中获取数据库结果 例如,我有这个 $result = mysql_query("SELECT * FROM scores WHERE p_cat=10 OR p_cat=11 OR p_cat=12 OR p_cat=13 OR p_cat=14 OR p_cat=15 OR p_cat=16 OR p_cat=17 OR p_cat=18 OR p_cat=19 ORDER BY p_time ASC LIMIT 50") 所以基本上我想让它和第10到19

有没有更快的方法从匹配一系列数字的行中获取数据库结果

例如,我有这个

$result = mysql_query("SELECT * FROM scores WHERE p_cat=10 OR p_cat=11 OR p_cat=12 OR p_cat=13 OR p_cat=14 OR p_cat=15 OR p_cat=16 OR p_cat=17 OR p_cat=18 OR p_cat=19 ORDER BY p_time ASC LIMIT 50")

所以基本上我想让它和第10到19行匹配。但所有这些ORs看起来都是多余和令人畏惧的。。。尤其是当我必须对从十到200的范围执行此操作时。

使用
介于
之间:

WHERE p_cat BETWEEN 10 AND 19
如果不是连续序列,请在
中使用

WHERE p_cat IN (10, 12, 13, 15, 19)

之间使用

WHERE p_cat BETWEEN 10 AND 19
如果不是连续序列,请在
中使用

WHERE p_cat IN (10, 12, 13, 15, 19)

之间使用

WHERE p_cat BETWEEN 10 AND 19
如果不是连续序列,请在
中使用

WHERE p_cat IN (10, 12, 13, 15, 19)

之间使用

WHERE p_cat BETWEEN 10 AND 19
如果不是连续序列,请在
中使用

WHERE p_cat IN (10, 12, 13, 15, 19)

使用此代码获取所需的结果 其中p_cat介于10和1之间

           $result = mysql_query("SELECT * FROM scores
               WHERE p_cat>=10 AND p_cat<=19   
              ORDER BY p_time ASC LIMIT 50")
$result=mysql\u查询(“从分数中选择*

其中p_cat>=10和p_cat使用此代码获取所需结果 其中p_cat介于10和1之间

           $result = mysql_query("SELECT * FROM scores
               WHERE p_cat>=10 AND p_cat<=19   
              ORDER BY p_time ASC LIMIT 50")
$result=mysql\u查询(“从分数中选择*

其中p_cat>=10和p_cat使用此代码获取所需结果 其中p_cat介于10和1之间

           $result = mysql_query("SELECT * FROM scores
               WHERE p_cat>=10 AND p_cat<=19   
              ORDER BY p_time ASC LIMIT 50")
$result=mysql\u查询(“从分数中选择*

其中p_cat>=10和p_cat使用此代码获取所需结果 其中p_cat介于10和1之间

           $result = mysql_query("SELECT * FROM scores
               WHERE p_cat>=10 AND p_cat<=19   
              ORDER BY p_time ASC LIMIT 50")
$result=mysql\u查询(“从分数中选择*

其中p_cat>=10,p_catis实际上更快?或者更简洁?我认为它可能更快,特别是当列上有索引时。这真的更快吗?或者更简洁?我认为它可能更快,特别是当列上有索引时。这真的更快吗?或者更简洁?我认为它更简单可能会更快,尤其是在列上有索引的情况下。这真的更快吗?还是更简洁?我认为可能会更快,尤其是在列上有索引的情况下。