MySQL 查询分组最新数据并筛选未删除用户
可以使用以下 SQL 语句查询出 tb_integral_flow 表中最新的一条数据的值,根据 userid 进行分组,并且 userid 要在 blade_user 表中未删除:
SELECT t1.userid, t1.value
FROM tb_integral_flow t1
JOIN (
SELECT userid, MAX(create_time) AS max_create_time
FROM tb_integral_flow
GROUP BY userid
) t2 ON t1.userid = t2.userid AND t1.create_time = t2.max_create_time
JOIN blade_user t3 ON t1.userid = t3.userid
WHERE t3.del_flag = 0
上述 SQL 语句中,首先使用子查询获取每个 userid 对应的最新的 create_time,然后将该子查询与 tb_integral_flow 表进行内连接,筛选出最新的一条数据。最后,将结果与 blade_user 表进行内连接,筛选出 userid 未删除的数据。
原文地址: https://www.cveoy.top/t/topic/pIuj 著作权归作者所有。请勿转载和采集!