直接上最终sql
id为数据唯一键,storage_time为时间戳,application_matters为分组依据
SELECT
*
FROM
csrc_approved_products_weekly
WHERE
id IN (
SELECT SUBSTRING_INDEX(group_concat( id ORDER BY `storage_time` DESC ), ,, 1 )
FROM csrc_approved_products_weekly
GROUP BY application_matters
)
解析
1.按时间从大到小顺序取出唯一键id列表
SELECT
group_concat( id ORDER BY `storage_time` DESC )
FROM
csrc_approved_products_weekly
GROUP BY
application_matters
2.再用SUBSTRING_INDEX函数取出第一个(也就是时间最大的数据id)
SELECT
SUBSTRING_INDEX( group_concat( id ORDER BY `storage_time` DESC ), ,, 1 )
FROM
csrc_approved_products_weekly
GROUP BY
application_matters
3.再根据 id查询数据
SELECT
*
FROM
csrc_approved_products_weekly
WHERE
id IN (
SELECT SUBSTRING_INDEX( group_concat( id ORDER BY `storage_time` DESC ), ,, 1 )
FROM csrc_approved_products_weekly
GROUP BY application_matters
)