假设我有一个Student
有两列的表
1)roll
2)marks
现在我想检索作为参数提供的所有卷的标记是否相同
如何通过单个查询来实现这一点MySQL
?
滚动列表存储在php array
变量中$intRolls
如果有不同的标记,查询应该返回什么?在这种情况下,这将返回 NULL:
SELECT IF( COUNT(mark) > 1, NULL, mark) AS processed_mark
FROM students
WHERE roll IN (coma-separated-list-of-rolls-here)
GROUP BY mark;
在这里(1,2,3,4,5)
你必须通过。在这里检查 SQLArray
FIDDLE
SELECT
marks
FROM students
WHERE roll IN(1,2,3,4,5)
GROUP BY marks
HAVING COUNT( * ) = (SELECT
COUNT(DISTINCT roll)
FROM students
WHERE roll IN(1,2,3,4,5))