是否有更快的方法从匹配一系列数字的行获取数据库结果?
例如,我有这个......
$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>
答案 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")