mysql如何根据最新的关系数据进行查询

赛博飞

我有两张桌子

  1. 公司
  2. company_relocation_history

关系是公司有很多搬迁史

样本数据表公司

在此处输入图片说明

示例数据表company_relocation_history

在此处输入图片说明

示例数据库 -> https://www.dropbox.com/s/e8uvuc9vvgacz0q/test.sql?dl=0

我想查询最近搬迁到某个地方的所有公司,例如到 FR。只计算最后一个位置。

预期数据仅会列出公司 ID 1 (MIB)。

公司 id 3 (SKD) 将被排除,因为虽然他们之前已经搬迁到 FR,但最后一次搬迁是 SG。

这是我对尚未工作的 SQL 查询的看法(错误结果)。如何解决这个问题?感谢堆栈溢出!

SELECT * 
FROM   `companies` 
WHERE  EXISTS (SELECT * 
               FROM   `company_relocation_histories` 
               WHERE  `companies`.`id` = 
`company_relocation_histories`.`company_id` 
                      AND `relocation_location` = 'FR' 
                      AND `id` = (SELECT Max(id) 
                                  FROM   `company_relocation_histories` AS `sub` 
                                  WHERE  sub.relocation_location = 
       company_relocation_histories.relocation_location)) 
scaisEdge

您可以对 max(id) 和 count > 1 使用子查询

SELECT * 
FROM   `companies`  c
INNER JOIN company_relocation_histories h on c.id = h.company_id
INNER JOIN 
(
    SELECT company_id, Max(id)  max_id
    FROM   `company_relocation_histories` AS `sub` 
    group by company_id 
    having count(*) >1
) t on t.company_id = c.id 
        and t.max_id  = h.id 
          and h.relocation_location  ='FR'

通过这种方式,您可以让所有公司拥有多个地点并与最后一个地点相关

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何对关系数据进行版本控制?

来自分类Dev

Android ListView:如何避免在bindView()中进行数据库查询?需要获取一对多关系数据

来自分类Dev

如何在解析JavaScript中查询关系数据

来自分类Dev

Solr查询以匹配嵌套/关系数据

来自分类Dev

查询以获取Laravel中的关系数据

来自分类Dev

关系数据库查询失败

来自分类Dev

根据关系数据库中的投票对帖子进行排序?

来自分类Dev

如何在spring数据neo4j 4中查询关系数据?

来自分类Dev

Jena SDB(关系数据库支持的RDF存储)如何处理SPARQL查询?

来自分类Dev

如何在IOS中使用解析执行PFRelation或关系数据库查询

来自分类Dev

3关系数据库外观以及如何通过Laravel Eloquent创建查询?

来自分类Dev

如何在IOS中使用解析执行PFRelation或关系数据库查询

来自分类Dev

如何在keystone.js(mongoose)中嵌套查询关系数据?

来自分类Dev

MySql | 在性能方面关系数据库与非关系数据库

来自分类Dev

如何优化在PHP中将MySQL关系数据导出为JSON

来自分类Dev

REST-如何使用关系数据建立关系模型

来自分类Dev

特定查询的关系数据库设计结构

来自分类Dev

无法使用PHP查询关系数据库

来自分类Dev

使用简单查询的C关系数据库

来自分类Dev

远程方法,查询和循环关系数据

来自分类Dev

关系数据Redux

来自分类Dev

如何使用这些关系表进行MySQL查询

来自分类Dev

neo4j如何在限制后续节点之间的关系数量之间使用变量节点进行查询?

来自分类Dev

MySql中关系数据库设计的最佳方法

来自分类Dev

MySQL对关系数据库中的数字求和

来自分类Dev

如何根据平均计算对mysql查询结果进行分组?

来自分类Dev

如何实现简单的关系数据库?

来自分类Dev

如何避免在关系数据库中使用数组?

来自分类Dev

如何引用关系数据库中的记录组?

Related 相关文章

  1. 1

    如何对关系数据进行版本控制?

  2. 2

    Android ListView:如何避免在bindView()中进行数据库查询?需要获取一对多关系数据

  3. 3

    如何在解析JavaScript中查询关系数据

  4. 4

    Solr查询以匹配嵌套/关系数据

  5. 5

    查询以获取Laravel中的关系数据

  6. 6

    关系数据库查询失败

  7. 7

    根据关系数据库中的投票对帖子进行排序?

  8. 8

    如何在spring数据neo4j 4中查询关系数据?

  9. 9

    Jena SDB(关系数据库支持的RDF存储)如何处理SPARQL查询?

  10. 10

    如何在IOS中使用解析执行PFRelation或关系数据库查询

  11. 11

    3关系数据库外观以及如何通过Laravel Eloquent创建查询?

  12. 12

    如何在IOS中使用解析执行PFRelation或关系数据库查询

  13. 13

    如何在keystone.js(mongoose)中嵌套查询关系数据?

  14. 14

    MySql | 在性能方面关系数据库与非关系数据库

  15. 15

    如何优化在PHP中将MySQL关系数据导出为JSON

  16. 16

    REST-如何使用关系数据建立关系模型

  17. 17

    特定查询的关系数据库设计结构

  18. 18

    无法使用PHP查询关系数据库

  19. 19

    使用简单查询的C关系数据库

  20. 20

    远程方法,查询和循环关系数据

  21. 21

    关系数据Redux

  22. 22

    如何使用这些关系表进行MySQL查询

  23. 23

    neo4j如何在限制后续节点之间的关系数量之间使用变量节点进行查询?

  24. 24

    MySql中关系数据库设计的最佳方法

  25. 25

    MySQL对关系数据库中的数字求和

  26. 26

    如何根据平均计算对mysql查询结果进行分组?

  27. 27

    如何实现简单的关系数据库?

  28. 28

    如何避免在关系数据库中使用数组?

  29. 29

    如何引用关系数据库中的记录组?

热门标签

归档