mysql查询,选择一定数量的结果

时间:2011-03-14 07:09:46

标签: php mysql

我们有一个ID列表,例如:

11, 22, 55, 99, 187

我们有一个字段为“id”的表。

我们基本上想要选择id等于11, 22, 55, 99, 187

的所有结果

像这样做mySQL查询的最佳方法是什么?

而不是WHERE id = '11' OR '22'.....

我们正在使用PHP,因为我们有一个ID列表,并希望使用这些ID和mysql查询来选择结果。

4 个答案:

答案 0 :(得分:3)

使用此

Where id IN (11,22,55,99,187)

答案 1 :(得分:1)

尝试IN子句

Mysql IN clause

答案 2 :(得分:1)

如其他答案中所述,您可以使用IN (...)子句。但是如果你有一长串的id值并希望获得最佳性能,那么我建议使用临时表来存储值,然后在临时表上使用INNER JOIN

/* Create the temporary table */
CREATE TEMPORARY TABLE temp_lookup (id INT NOT NULL);
/* Insert values in temp table */
INSERT INTO temp_lookup (id) VALUES (11), (22), (55), (99), (187), ...;
/* Select using INNER JOIN */
SELECT mt.field_list
FROM main_table AS mt INNER JOIN temp_lookup AS tt ON mt.id = tt.id

答案 3 :(得分:0)

您可以使用mysql的IN-function

类似的东西:

SELECT id from table where id IN (11, 22, 55, 99, 187);

这是真的逻辑,只需阅读手册。