微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mysql:如何连接两个表并查找每个公司最近一年的收入

如何解决Mysql:如何连接两个表并查找每个公司最近一年的收入

这是两个包含数据的表,如何将这两个表连接起来并查找每个表的收入 公司的最新可用年份。如何编写SQL查询获取预期结果?

  Table ‘Companies’:

    Id | companyCode| companyName
    1 | comp1      | Tata Motors
    2 | comp2      | Reliance
    3 | comp3      | Infosys
    4 | comp4      | HDFCBANK

 Table ‘FinancialDatas’

   Id | companyCode| year | revenue
   12 | comp1      | 2019 | 12500
   13 | comp1      | 2020 | 13250
   14 | comp2      | 2018 | 45000
   15 | comp2      | 2019 | 55000
   16 | comp3      | 2019 | 9500
   17 | comp3      | 2020 | 7500
   18 | comp4      | 2017 | 11000
   19 | comp4      | 2018 | 13500

Extexted OutPut Below:

  companyName | year | revenue
  Tata Motors |2020  |13250
  Reliance    |2019  |55000
  Infosys     |2020  |7500
  HDFCBANK    |2018  |13500 

解决方法

您可以使用row_number()

select * from
(
select companyName,year,revenue,row_number() over(partition by companyName order by year desc) as rn
from companies c join FinancialDatas f on c.companycode=f.companycode
)A where rn=1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。