1.在一个数据表里,如果statistic_date为主键,其他数据非主键,则找最大日期的数据为:

select * from table_1 where statistic_date=(SELECT max(statistic_date) from table_1)

2.在一个数据表里,如果fund_id、statistic_date为主键,其他数据非主键,则分别找每条fund_id最大日期的数据为:

SELECT fdre.* FROM
(SELECT fund_id,MAX(statistic_date) msd FROM `table_2`
GROUP BY fund_id) T
INNER JOIN table_2  fdre
ON fdre.fund_id = T.fund_id
AND fdre.statistic_date = T.msd

3.在一个数据表里,如果fund_id、year、statistic_date为主键,其他数据非主键,则分别找每条fund_id,每个年最大日期的数据为:

SELECT fdre.* FROM
(SELECT fund_id,`year`,MAX(statistic_date) msd FROM `table_2`
GROUP BY fund_id,year) T
INNER JOIN table_2  fdre
ON fdre.fund_id = T.fund_id
AND fdre.statistic_date = T.msd
AND fdre.year= T.year
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐