场景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')
)