students_records
+----+-----+-----+
| Sr | SRN | ARN |
+----+-----+-----+
| 1 | ge | aj |
| 2 | ge | bd |
+----+-----+-----+
答案
+----+-----+-----+
| Sr | SRN | ARN |
+----+-----+-----+
| 1 | ge | aj |
| 2 | ge | aj |
| 3 | ge | ne |
| 4 | ge | bd |
+----+-----+-----+
我需要计算rows
的表answer
中ARN value of answer is not equal (!=) to any ARN value of students_records
的数量。
对于上述数据库,计数将 1 ,因为答案中的 a2 不在students_records的任何ARN行中。
答案 0 :(得分:0)
早上好,这是一个有效的查询:
SELECT count(*)
FROM answer AS a
LEFT JOIN student_records AS s ON a.Sr = s.Sr
WHERE s.Sr IS NULL
说明:
让我们构建查询:
SELECT *
FROM answer AS a
LEFT JOIN student_records AS s ON a.Sr = s.Sr
你会得到这个:
Sr SRN ARN Sr SRN ARN
1 s1 a1 1 s1 a1
2 s1 a2 2 s1 a3
3 s1 a3 null null null
然后添加WHERE行,你得到这个:
Sr SRN ARN Sr SRN ARN
3 s1 a3 null null null
最后,将SELECT更改为COUNT(*),得到1。
顺便说一下,当我开始处理你的问题时,我没有CLUE如何做到这一点。然后谷歌帮助了,我发现了这个:http://www.gokhanatil.com/2010/10/minus-and-intersect-in-mysql.html
研究你的朋友!