PHP mysql匹配多行结果

时间:2013-11-10 04:00:45

标签: 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的行。但是所有这些OR似乎都是多余的和令人生畏的......尤其是当我必须在数十到200的范围内执行此操作时。 / p>

2 个答案:

答案 0 :(得分:3)

使用BETWEEN

WHERE p_cat BETWEEN 10 AND 19

如果它不是连续序列,请使用IN

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

答案 1 :(得分:0)

使用此代码获取所需的结果  哪个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")