MySQL:AND +参数选择和跳过问题

时间:2017-08-21 19:44:06

标签: php mysql mysqli pdo

我的问题与已解决的Question有关,但我无法让它发挥作用。

所以我有这个查询,应首先过滤列'类型'然后是列#lastffhange'中最小的时间戳。时间戳将经常更新。

SELECT * FROM api 
WHERE (type = 'Public') AND (lastChange = ( SELECT MIN(lastChange) FROM api ));

它似乎会过滤值,因为当我到达一个包含type =' Private'结果将是空的。

type != 'Public' // doesn't work either, because I have more than two values

但是查询实际上不应该跳过所有不包含类型的行=' Public'并且只返回那些带有正面结果的 - 我怎样才能正确地实现这一目标?

1 个答案:

答案 0 :(得分:1)

您在右边的SELECTChange为所有记录返回一个最小值,但是您只需要公共类型的MIN值,您需要在查询中指定。

SELECT * FROM api 
WHERE (type = 'Public') 
AND (lastChange = ( 
    SELECT MIN(lastChange) 
    FROM api AS t2 
    WHERE t2.type = "Public"
    )
);