版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
SELECT * FROM(
SELECT *
FROM t_work_order_fix
ORDER BY create_time DESC
)t
GROUP BY t.work_code
这样查 取到的不是理想的数据
SELECT * FROM(
SELECT *
FROM t_work_order_fix
ORDER BY create_time DESC
LIMIT 1000)t
GROUP BY t.work_code
需要增加limit
原理分析:
我们这里使用了临时表排序,继而对其结果进行分组,结果显示失败,加了limit后结果正确,原因是因为临时表中使用order by且使其生效,必须满足三个条件:
1:外部查询禁止分组或者聚合
2:外部查询未指定having,HAVING, order by
3:外部查询将派生表或者视图作为from句中唯一指定源
不满足这三个条件,order by会被忽略。