从mysql中检索具有相同特定列值的记录

时间:2013-06-05 12:40:25

标签: php mysql

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

1)roll

2)marks

现在我想检索标记,如果它作为参数提供的所有卷的相同

如何通过MySQL上的单个查询实现此目的?

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

2 个答案:

答案 0 :(得分:1)

此处(1,2,3,4,5)您需要传递Array。请点击此处SQL 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))

答案 1 :(得分: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;