[英]sql SELECT query not doing the opposite
我想您考虑重复两个具有相同buy_date和不同id的订单(我想id是PK字段的名称)
对于重复项,请尝试以下操作:
SELECT o1.*
FROM orders o1
WHERE EXISTS(
SELECT 'duplicate'
FROM orders o2
WHERE o1.id <> o2.id
AND o1.buy_date = o2.buy_date
)
对于单身人士,请尝试以下操作:
SELECT o1.*
FROM orders o1
WHERE NOT EXISTS(
SELECT 'duplicate'
FROM orders o2
WHERE o1.id <> o2.id
AND o1.buy_date = o2.buy_date
)
如您所说,Count> 1将返回重复项。 Count = 1将返回非重复项。
它不应该是count(*)= 1吗?
如果count(*)= 0,则意味着您只选择那些不存在的记录...因此它正确地不返回任何内容。
或者,如果您想在数学上正确,则sth>1
取反就是sth<=1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.