mysql - 按时间顺序对连接中的数据进行排序以获得最新条目

标签 mysql sql join left-join mariadb

我有 3 个数据库表:

  • OpenRO标题
  • OpenROData
  • OpenRO注释

标题和数据每小时更新(覆盖),而注释则手动添加并通过字段“RO_Number”链接

我希望 SQL 执行的是检索最新的“注释”(按“date_updated”)

SELECT file_date, rod.id as id, key_id, key_name, key_value, DATE_FORMAT(expected_close_date , '%d/%m/%y' ) as expected_close_date, wty_dept
FROM OpenROHeader roh 
JOIN OpenROData rod ON roh.id=rod.header_id 
LEFT JOIN OpenRONotes ron ON rod.key_value=ron.ro_number 
WHERE roh.customer_id='193' 
GROUP BY key_id, key_name

Notes 表中有 2 个条目 - 我想要最新的:

id, customer_id, ro_number, expected_close_date, advisor_notes, wty_dept, date_updated
4059, 193, 'S117986', NULL, 'WTY_ON<br>- S.W.', 'on', '2018-09-24 05:02:45'
4060, 193, 'S117986', NULL, 'WTY_OFF<br>- S.A.', NULL, '2018-09-24 05:03:24'

我希望它在 SELECT 中从 id 为 4060 NOT 4059 的行返回数据(最后 2 列)

http://sqlfiddle.com/#!9/f00326/1/0

但不是返回 2018-09-24 05:03:24 的最新“wty_dept”(NULL)

我的 SQL 语句返回 2018-09-24 05:02:45(较早)的上一个条目“on”

如何对联接进行排序以返回最新数据

最佳答案

将 desc 放在 group by cluse 之后 例如- 从学生 GROUP BY 部分描述中选择 *; 它会g

关于mysql - 按时间顺序对连接中的数据进行排序以获得最新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52473262/

相关文章:

mysql - SQL 查询计算具有基于另一个列值的公共(public)列值的行

php - 在PHP中,如果没有错误发生,抑制函数的错误输出(通过@)是否会影响性能?

mysql - 如何更改 phpMyAdmin 中的事件

sql - SQL统计每天发生多少次

php - SQL 更改表与值

mysql - 如何优化查找不存在条件联接行的行的查询?

php - 通过 URL 为 Angular View 发送 ID

mysql - 如何为仅在与另一列组合时需要唯一的列添加唯一约束?

performance - Mongodb 多重查询或数据库规范化

mysql - 从一个表中选择行,以一对多关系连接另一个表中的最新行