mysql group by组内排序

mysql group by组内排序:
    首先是组外排序:
    SELECT z.create_time,z.invoice_id from qf_invoice_log z where z.type =102 GROUP BY z.invoice_id ORDER BY z.create_time DESC;
    先根据查询的结构分组,分组的结果会使同一条件的数据展示最先插入的一条,id最小的保留下来。
    可以看一个例子:
mysql group by组内排序

mysql group by组内排序

mysql group by组内排序

mysql group by组内排序

mysql group by组内排序
mysql group by组内排序
所以如果你的需求是排序前要找到同一条件最后一条记录,采用先group by在order by 是不准确的。
mysql group by组内排序
mysql group by组内排序
正确的方法是先根据时间进行排序,再进行分组,最后再进行排序。
select t1.create_time,t1.invoice_id
        from (SELECT z.* from qf_invoice_log  z ORDER BY z.create_time DESC ) t1 where t1.type =102  GROUP BY t1.invoice_id ORDER BY t1.create_time DESC;
上一篇:Linux时间子系统之三:时间的维护者:timekeeper


下一篇:nmon linux监控工具