基于特定随机数列表的Mysql查询?

基于特定随机数列表的Mysql查询?,mysql,Mysql,我正在尝试根据特定的数字进行查询,在这个阶段,我只需要将其硬编码为逗号分隔的值 2312,2431,2439,2440,2442,.... 但我不能使用between,因为两者之间的数字可能不相关 那么,我如何进行这种类型的查询呢 $sql= "SELECT * FROM table WHERE pc=2431 OR pc=2439 OR pc=2440 OR pc=2442 OR pc=2443 OR pc=2444 OR pc=2445 OR p

我正在尝试根据特定的数字进行查询,在这个阶段,我只需要将其硬编码为逗号分隔的值

2312,2431,2439,2440,2442,....
但我不能使用between,因为两者之间的数字可能不相关

那么,我如何进行这种类型的查询呢

$sql= "SELECT * FROM table 
WHERE pc=2431 OR pc=2439 OR 
      pc=2440 OR pc=2442 OR 
      pc=2443 OR pc=2444 OR 
      pc=2445 OR pc=2446 OR 
      pc=2312 AND v=1 
ORDER BY id DESC 
LIMIT $offset, $rowsperpage";
我尝试过这类作品,但肯定有更好的方法


提前谢谢

确实有。。。您可以在操作符中使用
,使查询变成:

SELECT *
  FROM table
 WHERE pc IN (2431,2439,2440,2442,2443,2444,2445,2446,2312)
   AND v=1
 ORDER BY id DESC
 LIMIT $offset, $rowsperpage
简单:o)


有关更多信息,请查看MySQL文档,网址为

,我建议对其他答案进行一些改进:

$pcs=阵列(2431243924402442244324444524462312)

这样,如果以后您的ID将更改,并且您有多个使用它们的查询,那么您将只需要更新一个位置,而不是N(其中N是查询数)。如果在许多不同的文件中使用这些ID,请考虑创建一个常量

"SELECT *
FROM table
WHERE pc IN (" . implode(",", $pcs) . ")
AND v=1
ORDER BY id DESC
LIMIT $offset"