假設我有一個表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