优化单个mysql查询所需

时间:2012-11-29 03:06:06

标签: mysql sql

我想了解如何构建一个mysql查询,为db上的所有TESTID检索*。因此,不是为每个唯一的TESTID运行for循环,而是生成多个db调用,如下所示,我只需运行一个查询。

select * from test_results where TESTERID='3' and TESTID='5'
select * from test_results where TESTERID='3' and TESTID='9'
select * from test_results where TESTERID='3' and TESTID='10'
select * from test_results where TESTERID='3' and TESTID='12'
select * from test_results where TESTERID='3' and TESTID='15'
select * from test_results where TESTERID='3' and TESTID='4'

感谢您的任何意见。

4 个答案:

答案 0 :(得分:4)

如果列的数据类型是数字(数字),则可以删除单引号,否则请将其包装。

SELECT *
FROM   test_results 
WHERE  testerID = 3 AND
       testID IN (5,9,10,12,15,4)

答案 1 :(得分:3)

我会假设你在寻找这个?

SELECT *
FROM test_results
WHERE
    TESTERID = '3'
    AND TESTID IN ('5', '9', '10', '12', '15', '4')

如果您使用数字类型的字段,您应该使用它而不是btw:

SELECT *
FROM test_results
WHERE
    TESTERID = 3
    AND TESTID IN (5, 9, 10, 12, 15, 4)

答案 2 :(得分:0)

如果您想从testerid ='3'

获取所有记录
select * from test_results where TESTERID='3'

答案 3 :(得分:-1)

谢谢,我提出了以下工作解决方案:

SELECT * FROM test_results WHERE testerID = 3 AND testID IN (select TESTID from test_results)