一些孩子 ,特别是新入门程序员,给你一个需求,比如查出所有发布记录中所有发布版本最新操作的集合
孩子如果这么写,就犯错了
select version,time from table group by version order by time desc
正确的写法是
select * from (select version,time from table order by time desc) t group by version order by time desc
需要注意的是,网上一些文章,抄来抄去,都没在外层group by后面再加一个order by
你如果不加,其实是升序,那结果还是不对。
还有,有的同学想到max函数,max函数可以,看你怎么用,下面这种就不对,给你两张图片,比对下,就知道了
想要用正确的max必须使用
group by having time = max(time) where ....
自己脑补