我只是MySql的初学者,我正在尝试显示工作人员ID,全名和发给特定员工(工作人员)的最大分配数。两个表worker和赋值通过Wrk_ID相关联。
我的代码无效。
SELECT w.Wrk_ID,
CONCAT_WS(" ", Wrk_FirstName, Wrk_Initial, Wrk_LastName) AS FullName,
COUNT(a.Wrk_ID) AS count
FROM worker w LEFT JOIN assignment a
ON w.Wrk_ID = a.Wrk_ID
GROUP BY w.Wrk_ID
HAVING count = ALL(SELECT MAX(a.Wrk_ID) FROM assignment GROUP BY Wrk_ID);
真的需要帮助!...谢谢
答案 0 :(得分:1)
试试这个
SELECT distinct w.Wrk_ID,
CONCAT_WS(" ", Wrk_FirstName, Wrk_Initial, Wrk_LastName) AS FullName,
COUNT(a.Wrk_ID) AS count
FROM worker w LEFT JOIN assignment a
ON w.Wrk_ID = a.Wrk_ID
GROUP BY w.Wrk_ID
HAVING count >= ALL(SELECT count(Wrk_ID) FROM assignment GROUP BY Wrk_ID);
SQL小提琴 - http://sqlfiddle.com/#!9/b6e2b/10