gpt4 book ai didi

mysql - 如何按 2 个字段分组并同时按日期排序?

转载 作者:行者123 更新时间:2023-12-01 00:14:27 43 4
gpt4 key购买 nike

我在 employees 中有 3 个字段表:personal_id , personal_id_type , 和 date_registered .

我需要找到所有行,每行一行 personal_id + personal_id_type (这里是我认为我可以使用 GROUP 的地方),但是由于相同的 personal_id + personal_id_type 可能有很多条目(因为员工可以辞职并稍后再次被雇用),我只需要获取最新的条目 ( order by date_registered DESC )。

这在概念上是否正确?按 2 个字段分组的语法是什么?我会用它实现我需要的吗?

编辑:对不起,实际上有很多字段,所以我需要最新的行,而不仅仅是最新的日期。

最佳答案

在子查询中为每个 (personal_id, personal_id_type) 组合查找最新日期,然后连接到原始表:

SELECT
e.*
FROM
employees e
JOIN
( SELECT
personal_id
, personal_id_type
, MAX(date_registered) AS latest_date_registered
FROM
employees
GROUP BY
personal_id
, personal_id_type
) AS grp
ON grp.personal_id = e.personal_id
AND grp.personal_id_type = e.personal_id_type
AND grp.latest_date_registered = e.date_registered

关于mysql - 如何按 2 个字段分组并同时按日期排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082379/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com