我想加入兩個表,即職員和工作人員考試時間表。員工可以參加N次考試。我的結果應該是工作人員編號,工作人員姓名,上次完成的考試的結束時間。SQL查詢與不工作的訂單
我的表結構如下
職員表
staff_id staff_full_name staff_status
500 Sakthi active
550 Siraj active
600 Shihab K H active
620 John David active
670 Javed Akthar active
examtime表
examtime_id examtime_staffid examtime_endtime
100 500 2014-10-10
101 600 2016-05-01
102 670 2016-06-10
103 670 2014-04-01
104 670 2016-06-13
105 670 2016-06-11
結果集的SQL查詢低於
SELECT S.staff_id, S.staff_full_name, ET.examtime_endtime
FROM staffs S LEFT JOIN examtime ET ON ET.examtime_staffid = S.staff_id
WHERE 1 AND S.staff_status = 'active' GROUP BY S.staff_full_name ORDER BY S.staff_full_name ASC , ET.examtime_endtime DESC
但我GE設置結果集如下。無論考試結束時間如何,它都會獲取考試時間表的第一條記錄。見下面結果集(Javed Akthar最新的考試日期是2016-06-13,但它取材於2016-06-10)。
500 Sakthi 2014-10-10
600 Shihab KH 2016-05-01
670 Javed Akthar 2016-06-10
你'集團BY'造成問題,「閱讀我的想法「實際上它[不這樣做](https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html):」... MySQL擴展到標準SQL ...在這種情況下,服務器可以自由選擇每個組中的任何值,因此除非它們相同,所選擇的值是不確定的,這可能不是你想要的。「 –