MySQL练习
解:
先将每天的最大版本查出来放到一张临时表中,然后使用全连接查询,从原表中查询数据,查询数据时,限定条件为原表的日期与临时表中的日期对应相等,且原表的版本等于临时表中的版本(也就是原表最大版本)。
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;