gpt4 book ai didi

mysql - 使用 group by 从连接表中获取最大日期

转载 作者:行者123 更新时间:2023-11-29 07:14:14 33 4
gpt4 key购买 nike

我有 3 个表 - entryrecordemployeeemployee_entryrecord(链接表)。

我想要的查询是返回每个员工的最新(max time)inout 记录。

employee
id employee
1 John
2 Tom

entryrecord
id created_date inout
1 2016-07-22 16:01:38 1
2 2016-07-22 16:03:22 1
3 2016-07-22 16:05:22 2
4 2016-07-22 16:07:22 2
5 2016-07-22 16:09:22 1


I'd like the follow output
created_date employee inout entryrecordid
2016-07-22 16:09:22 John 1 5
2016-07-22 16:05:22 Tom 2 3

但是,在下面的 sqlfiddle 中,您可以看到它没有返回正确的 inoutentryrecordid 值。

我创建了一个 sqlfiddle 来查看我所做的事情。

SQL Fiddle

任何帮助都会很棒。谢谢。

最佳答案

请尝试一下:

SELECT
finalALias.created_date,
E.employee,
finalALias.inout,
finalALias.id AS entryrecordid
FROM employee E

INNER JOIN
(
SELECT
*
FROM entryrecord entryR
INNER JOIN
(
SELECT
EER.employeeid,
MAX(created_date) max_time
FROM entryrecord ER
INNER JOIN employee_entryrecord EER ON ER.id = EER.entryrecordid
GROUP BY EER.employeeid
) t
ON t.max_time=entryR.created_date
) AS finalALias
ON E.id = finalALias.employeeid
ORDER BY finalALias.created_date DESC;

WORKING DEMO

温馨提示:

E -> 员工

ER -> 条目记录

ERR ->employee_entryrecord

关于mysql - 使用 group by 从连接表中获取最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38542751/

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