0

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

例如,我有这个...

$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 的范围内执行此操作时。

4

2 回答 2

3

使用BETWEEN

WHERE p_cat BETWEEN 10 AND 19

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

WHERE p_cat IN (10, 12, 13, 15, 19)
于 2013-11-10T04:03:41.693 回答
0

使用此代码获取所需的结果 WHERE p_cat BETWEEN 10 AND 1

           $result = mysql_query("SELECT * FROM scores
               WHERE p_cat>=10 AND p_cat<=19   
              ORDER BY p_time ASC LIMIT 50")
于 2013-11-10T04:18:37.470 回答