今天有個需求,分組後取時間最新的記錄,類似如下:
兩個表
emp
員工表dept
部門表
emp
欄位名稱 | 描述 |
---|---|
emp_no | 員工編號 |
emp_name | 員工姓名 |
age | 年齡 |
dept_no | 部門編號 |
hiredate | 入職日期 |
dept
欄位名稱 | 描述 |
---|---|
dept_no | 部門編號 |
dept_name | 部門姓名 |
資料如下:dept
emp
查詢每個部門最早入職的員工
SELECT
*
FROM
(
SELECT
e.emp_no,
e.emp_name,
d.dept_no,
d.dept_name,
e.hiredate
FROM
emp e
INNER JOIN dept d ON e.dept_no = d.dept_no
ORDER BY
e.hiredate ASC
LIMIT 1000
) a
GROUP BY
dept_no
ORDER BY
dept_no
結果
其中 LIMIT 1000 這個是必須的,如果沒有,就不是想要的結果,應該是mysql版本問題
歡迎各位大佬提出更優的解決辦法,一起進步,記錄此文的目的:一是做個筆記,加深記憶,二是練練如何寫文章,三是聽從昨天一位大佬的指導,先學學Markdown語法,歡迎大佬指正
本作品採用《CC 協議》,轉載必須註明作者和本文連結