Mysql多条件取最新的数据

场景1:

根据单位id、模板id去表中查询每天最新的计算数据

每天可能会计算多次,产生多条单位和模板的数据,现在需要根据这两个条件查询最新的计算数据

方案:

SELECT t.*
FROM
(
	SELECT *
	FROM risk_assess_record
	where unit_id in('320100DW1542002175817809920','140500DW1541979241619390464','320100DW1543784168285011968','AHHF_QHHFY_20180408','320100DW1542755101473505280','340100DW1600679890556813312','340100DW1600681790182260736','340100DW1600681792342327296','340100DW1598601812196196352','340100DW1610250470494830592','120100DW1582629102815281152','340100DW1636255299604054016','150500DW1541979713814134784','340100DW1569586853873451008','340100DW1638502471275905024','340100DW1600681790807212032','nullDW1572515570312544256','320100DW1541978407196164096','340100DW1543129987429695488','340100DW1600680183898046464','320100DW1546457000315977728','340100DW1598582537049866240','320100DW1567680421070635008','340100DW1600681793101496320','320100DW1543877636873256960','340100DW1600680029539270656','120100DW1567781124539678720','320100DW1567688890943275008','120100FWDX1536276502776119296','340100DW1566674602342481920','340100DW1600681791465717760','110100DW1587983886137163776','340100DW1600681791889342464','340100DW1578663582806048768','340100DW1566675325285302272') and temp_id in('M00059','M00060','M00061') 
	ORDER BY create_time DESC
	LIMIT 2000
) t
GROUP BY t.unit_id

场景2:

根据多条件查询每天最新的数据,每天数据可能计算两次取最新的

方案:

select * from risk_assess_record d2 
where 
(d2.unit_id,d2.create_time) in 
(
	select 
	d1.unit_id,max(d1.create_time)
	from 
	risk_assess_record  d1
	where
	unit_id in('320100DW1542002175817809920','140500DW1541979241619390464','320100DW1543784168285011968','AHHF_QHHFY_20180408','320100DW1542755101473505280','340100DW1600679890556813312','340100DW1600681790182260736','340100DW1600681792342327296','340100DW1598601812196196352','340100DW1610250470494830592','120100DW1582629102815281152','340100DW1636255299604054016','150500DW1541979713814134784','340100DW1569586853873451008','340100DW1638502471275905024','340100DW1600681790807212032','nullDW1572515570312544256','320100DW1541978407196164096','340100DW1543129987429695488','340100DW1600680183898046464','320100DW1546457000315977728','340100DW1598582537049866240','320100DW1567680421070635008','340100DW1600681793101496320','320100DW1543877636873256960','340100DW1600680029539270656','120100DW1567781124539678720','320100DW1567688890943275008','120100FWDX1536276502776119296','340100DW1566674602342481920','340100DW1600681791465717760','110100DW1587983886137163776','340100DW1600681791889342464','340100DW1578663582806048768','340100DW1566675325285302272') and temp_id in('M00059','M00060','M00061') 
	group by d1.unit_id,DATE_FORMAT(d1.create_time,'%Y-%M-%D')
)

猜你喜欢

转载自blog.csdn.net/qq_45443475/article/details/129840879