如何在连接表中按日期选择最后一条记录

用户813813

我有 2 个表,Car_Table 和 History_Table。当所有汽车的状态设置为损坏时,我希望能够为所有汽车选择最后一个历史记录项目。

表格如下

Car_Table
Car_ID  Driver_Name Car_Status
1       Alan        Broken
2       Dave        Broken

History_Table
id  Date        Notes       Car_Id
1   01-01-2017  Change oil      1
2   02-01-2017  Check Brakes    1
3   02-01-2017  Service         2
3   03-01-2017  Cleaning        2

当我做

select Car_Table.Driver_Name,History_Table.Notes from Car_Table 
inner join History_Table on Car_Table.Car_ID = History_Table.CarID 
where Car_Table.Car_Status = 'Broken'

我得到了所有的历史记录。有没有办法获取每辆状态为“损坏”的汽车的最后一个历史项目?

古温德·辛格

您可以使用该left join技术找到每辆车的最大日期行,然后将其与 Car_table 连接:

select Car_Table.Driver_Name,
    History_Table.Notes
from Car_Table
inner join (
    select h1.*
    from History_Table h1
    left join History_Table h2 on h1.Car_ID = h2.Car_ID
        and h1.date < h2.date
    where h2.Car_ID is null
    ) History_Table on Car_Table.Car_ID = History_Table.CarID
where Car_Table.Car_Status = 'Broken';

请参阅官方 MySQL 站点以获取替代解决方案(在相关和不相关子查询中使用聚合,这可能比上述解决方案慢)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用MySQL连接表中的第一条记录和最后一条记录?

来自分类Dev

在mysql子查询中按日期获取第一条记录和最后一条记录的值

来自分类Dev

按日期获取具有多对一关系的多个表的最后一条记录

来自分类Dev

从表中的分组记录中选择除最后一条记录之外的所有记录

来自分类Dev

如何在Oracle SQL中检索相同日期的组中的第一条记录和最后一条记录

来自分类Dev

如何在mysql的第一个表中查找记录的最后一条记录

来自分类Dev

按日期标记熊猫分组中的最后一条记录python

来自分类Dev

如何获取日期中的第一条记录和最后一条记录

来自分类Dev

如何选择每个ID的最后一条记录

来自分类Dev

如何在LINQ GroupBy子句中选择最后一条记录

来自分类Dev

ResultSet仅返回表中的最后一条记录

来自分类Dev

获取mysql表中的最后一条记录

来自分类Dev

真/假表中的最后一条记录

来自分类Dev

如何按组获取输出中的最后一条记录?

来自分类Dev

如何在SQL中向后运行UPDATE命令(从最后一条记录到第一条)?

来自分类Dev

如何在cakephp中找到关联表的最后一条记录?

来自分类Dev

如何根据 SQL 查询中其他聚合列的日期获取最后一条记录

来自分类Dev

如何从Cassandra中的时间序列中选择最后一条记录?

来自分类Dev

如何从MS Access表中获取最后一条记录

来自分类Dev

如何返回具有多个状态的表中的最后一条记录

来自分类Dev

如何从MS Access表中获取最后一条记录

来自分类Dev

如何在AngularJS中获取数组中的最后一条记录

来自分类Dev

如何在 Laravel 5.6 中显示多对多关系中的最后一条记录

来自分类Dev

如何按所选日期范围获取每天所有用户的第一条和最后一条记录

来自分类Dev

如何查找组中的最后一条记录

来自分类Dev

如何捕获文件中的最后一条记录

来自分类Dev

如何从sql server中获取最后一条记录?

来自分类Dev

从表 A 中获取 X 玩家每种奖金类型的最后一条记录,按表 B 的字段分组

来自分类Dev

从数据表中为设备表中的每个设备选择最后一条记录

Related 相关文章

  1. 1

    如何使用MySQL连接表中的第一条记录和最后一条记录?

  2. 2

    在mysql子查询中按日期获取第一条记录和最后一条记录的值

  3. 3

    按日期获取具有多对一关系的多个表的最后一条记录

  4. 4

    从表中的分组记录中选择除最后一条记录之外的所有记录

  5. 5

    如何在Oracle SQL中检索相同日期的组中的第一条记录和最后一条记录

  6. 6

    如何在mysql的第一个表中查找记录的最后一条记录

  7. 7

    按日期标记熊猫分组中的最后一条记录python

  8. 8

    如何获取日期中的第一条记录和最后一条记录

  9. 9

    如何选择每个ID的最后一条记录

  10. 10

    如何在LINQ GroupBy子句中选择最后一条记录

  11. 11

    ResultSet仅返回表中的最后一条记录

  12. 12

    获取mysql表中的最后一条记录

  13. 13

    真/假表中的最后一条记录

  14. 14

    如何按组获取输出中的最后一条记录?

  15. 15

    如何在SQL中向后运行UPDATE命令(从最后一条记录到第一条)?

  16. 16

    如何在cakephp中找到关联表的最后一条记录?

  17. 17

    如何根据 SQL 查询中其他聚合列的日期获取最后一条记录

  18. 18

    如何从Cassandra中的时间序列中选择最后一条记录?

  19. 19

    如何从MS Access表中获取最后一条记录

  20. 20

    如何返回具有多个状态的表中的最后一条记录

  21. 21

    如何从MS Access表中获取最后一条记录

  22. 22

    如何在AngularJS中获取数组中的最后一条记录

  23. 23

    如何在 Laravel 5.6 中显示多对多关系中的最后一条记录

  24. 24

    如何按所选日期范围获取每天所有用户的第一条和最后一条记录

  25. 25

    如何查找组中的最后一条记录

  26. 26

    如何捕获文件中的最后一条记录

  27. 27

    如何从sql server中获取最后一条记录?

  28. 28

    从表 A 中获取 X 玩家每种奖金类型的最后一条记录,按表 B 的字段分组

  29. 29

    从数据表中为设备表中的每个设备选择最后一条记录

热门标签

归档