1

假设我有一个Student有两列的表

1)roll

2)marks

现在我想检索作为参数提供的所有卷的标记是否相同

如何通过单个查询来实现这一点MySQL

滚动列表存储在php array变量中$intRolls

4

2 回答 2

1

如果有不同的标记,查询应该返回什么?在这种情况下,这将返回 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;
于 2013-06-05T12:48:31.933 回答
1

在这里(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))
于 2013-06-05T12:46:53.760 回答