假设我有一个表Student
有两列检索从MySQL具有对特定列相同值的记录
1)roll
2)marks
现在我想找回,如果它的标记对于作为参数提供的所有卷是相同的
如何在MySQL
上使用单个查询来实现此目的?
卷列表存储在php array
可变$intRolls
假设我有一个表Student
有两列检索从MySQL具有对特定列相同值的记录
1)roll
2)marks
现在我想找回,如果它的标记对于作为参数提供的所有卷是相同的
如何在MySQL
上使用单个查询来实现此目的?
卷列表存储在php array
可变$intRolls
这里(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))
应该怎样查询返回如果有不同的分数呢?这一个将在这种情况下返回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;
在IF中返回错误(COUNT(mark)> 1; NULL; mark) – vish
是的,用简单的昏迷代替分号,对此抱歉。 – RandomSeed
谢谢Devel .........它工作..... – vish
如何接受? – vish