我有一个这样的表:
Physician_key Product Month Score
1 a 8 1
1 a 8 2
1 a 8 3
2 b 8 2
2 b 8 1
我试图仅检索分数<=2的键的计数,并且我不想计算该键,即使它碰巧有一个时间分数>2。所以在输出中我想要这样的东西: 对于第 8 个月的产品 b,计数 =2。
我正在尝试对记录 <=2 和 >2 的键进行空约束的自连接。但它仍然返回我不想要的前两行。
最佳答案
NOT EXISTS
子句可能会有所帮助:
SELECT * FROM table t
WHERE NOT EXISTS (
SELECT 1
FROM table tx
WHERE tx.Physician_key = t.Physician_key
AND tx.Product = t.Product
AND Score > 2
);
这基本上是说“给我表中的所有行,但排除存在该医生和产品得分 > 2 的行的任何行”
关于mysql - 如何从非唯一键检索不匹配的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18099873/