獲取與studentid的最小非零計數過程中(最低數招生):
SELECT COUNT(e.studentid) AS lowest_nonzero_count
FROM Enrollment e
GROUP BY e.coursecode
ORDER BY 1
LIMIT 1
但是,如果我們要考慮的是沒有任何的入學課程(即,如果我們考慮到零是最低的數字入學的有效值)
SELECT COUNT(e.studentid) AS lowest_count
FROM course c
LEFT
JOIN enrollment e
ON e.coursecode = c.coursecode
GROUP BY c.coursecode
ORDER BY 1
LIMIT 1
哪些課程有一個最低(非零)studentid的計數?如果我們知道具體的值,我們可以做到這一點(代表有一個佔位符:lowest_nonzero_count
這個值:
SELECT d.coursecode
, COUNT(d.studentid)
FROM enrollment d
GROUP BY d.coursecode
HAVING COUNT(d.studentid) = :lowest_nonzero_count
這是我們能夠與返回值的子查詢替換:lowest_nonzero_count
佔位符:
SELECT d.coursecode
, COUNT(d.studentid)
FROM enrollment d
GROUP BY d.coursecode
HAVING COUNT(d.studentid) =
(SELECT COUNT(e.studentid)
FROM Enrollment e
GROUP BY e.coursecode
ORDER BY 1
LIMIT 1
)
ORDER BY d.coursecode
如果我們要考慮一個「零」值作爲入學率的有效號碼:
SELECT b.coursecode
, COUNT(d.studentid)
FROM course b
LEFT
JOIN enrollment d
ON d.coursecode = b.coursecode
GROUP BY b.coursecode
HAVING COUNT(d.studentid) =
(SELECT COUNT(e.studentid)
FROM course c
LEFT
JOIN enrollment e
ON e.coursecode = c.coursecode
GROUP BY c.coursecode
ORDER BY 1
LIMIT 1
)
ORDER BY b.coursecode
如果你想本網站上的幫助,請告訴我們先從:那你試試? – 2015-02-06 02:02:03