我们有一个ID列表,例如:
11, 22, 55, 99, 187
我们有一个字段为“id”的表。
我们基本上想要选择id
等于11, 22, 55, 99, 187
像这样做mySQL查询的最佳方法是什么?
而不是WHERE
id = '11' OR '22'.....
我们正在使用PHP,因为我们有一个ID列表,并希望使用这些ID和mysql查询来选择结果。
答案 0 :(得分:3)
使用此
Where id IN (11,22,55,99,187)
答案 1 :(得分:1)
尝试IN子句
答案 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);
这是真的逻辑,只需阅读手册。