Betrachten wir die folgende Tabelle-
ID Score 1 95 2 100 3 88 4 100 5 73
Ich bin ein absoluter SQL-Neuling, aber wie kann ich einen Score zurückgeben, der die ID 2 und 4 enthält? Es sollte also 100 zurückgeben, da es sowohl in ID 2 als auch in 4 vorkommt
这将选择 ID 为 2 和 4 的行。然后,
HAVING
子句确保我们找到了这两行;如果其中一个缺失,计数将小于 2。这假设
id
是唯一列。这是“集合内集合”查询的示例。我建议使用
having
子句进行聚合,因为它是最灵活的方法。这所做的是按分数聚合。然后
having
子句的第一部分 (sum(id = 2)
) 计算每个分数有多少个“2”。第二个是数“4”的个数。仅返回“2”和“4”的分数。