MySQL练习
< 返回列表时间: 2020-08-02来源:OSCHINA
1、现有1张test表,里面有id,count,date,version,4个字段。已知每天都可能有多个版本的记录,请查出每天最大的版本对应的记录。(百度)
解:
先将每天的最大版本查出来放到一张临时表中,然后使用全连接查询,从原表中查询数据,查询数据时,限定条件为原表的日期与临时表中的日期对应相等,且原表的版本等于临时表中的版本(也就是原表最大版本)。
SELECT b.`id`,b.`count`,b.`date`,b.`version`
FROM (SELECT `date`,MAX(`version`) AS ver FROM test GROUP BY `date`) a JOIN test b ON a.ver = b.version AND a.date = b.date;

SELECT b.`id`,b.`count`,b.`date`,b.`version`
FROM (SELECT `date`,MAX(`version`) AS ver FROM test GROUP BY `date`)a,test b WHERE a.ver = b.version AND a.date = b.date;
热门排行