gpt4 book ai didi

mysql - 如何仅从表中获取最近一年的所有数据,而许多行可能与该年相关联

转载 作者:行者123 更新时间:2023-11-29 04:40:54 25 4
gpt4 key购买 nike

这是简化的表格:

id - company_id - report_year - code

1 - 123456 - 2013 - ASD
2 - 123456 - 2013 - SDF
3 - 123456 - 2012 - ASD
4 - 123456 - 2012 - SDF

我想获取指定 company_id 可用的最高 report_year 的所有代码。

所以我应该得到:

1 - 123456 - 2013 - ASD  
2 - 123456 - 2013 - SDF

但我不能对 WHERE year = 2013 进行硬编码,因为对于某些公司来说,最新的报告年份可能是 2012 年或 2009 年。所以我需要根据可用的最新年份获取数据。

到目前为止,我有这样的查询:

SELECT id, company_id, report_year, code,
FROM `my_table`
WHERE company_id= 123456

我尝试了 group by 和 max() 的一些混合,但我无法得到我需要的,这是我第一次遇到这样的请求,它令人困惑。

有什么想法吗?我正在使用 mysql。

最佳答案

使用相关子查询查找公司的最新年份:

SELECT id, company_id, report_year, code,
FROM `my_table` t1
WHERE company_id = 123456
AND report_year = (select max(report_year)
from `my_table` t2
where t1.company_id = t2.company_id)

关于mysql - 如何仅从表中获取最近一年的所有数据,而许多行可能与该年相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28743046/

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