例如,我有下表:
id Name - Target
1 A B
2 C D
3 E D
我实际上有超过200万条记录。
我的目标是查询“目标”为“D”,并且仅在存在单个“D”记录时返回“D”数据,在我的示例中查询必须失败,因为有2个“目标”记录值为“D”。
我尝试使用计数记录并检查返回的查询是否有多个匹配,但速度非常慢。
有更好的方法吗?
谢谢
答案 0 :(得分:1)
SELECT id, name, target FROM tablename WHERE target = ? GROUP BY target HAVING count(*) = 1
将返回单个结果或空