我需要从数据库中选择只有一列具有特定值的所有行。也就是说,如果两行具有“ABC”作为其列arbitrary
的值,那么它们不会被返回。在单个查询中从MySQL中选择唯一值
我希望这足够清楚的措辞,以了解我在问什么。使用MySQL的DISTINCT
关键字不适合我需要做的事情,因为使用它需要多个查询。我希望能够在一个很好,紧凑的查询中做到这一点,因为它会被频繁执行。我正在扩展我的应用程序以允许更高程度的并发性,而我现在的代码不会再削减它了。
目前,我正在使用DISTINCT
为所涉及的列选择每个唯一值,然后在另一个查询中检查这些值中的每一个以查看它们是否仅存在一次。如果是这样,保留它,如果没有,扔掉它。肯定有更谨慎的方式去做这件事?
谢谢。
完美的,我从来没有意识到之前,HAVING关键字。我会实现这一点,非常感谢! –
'有'是一个适用于聚合的地方。它起作用的原因是它在**集合被评估后被调用**,所以它可以对它们进行测试,where子句不能,因为它在**完全计算之前得到测试**。 – Johan
如果这回答了你的问题,请检查答案,以便Johan能够收到他应得的分数,而其他读者可以很容易地看出哪个答案解决了问题。 –