SELECT *,MAX(car_online_time) from qdwyc_car_online GROUP BY car_num
这样查出来 第一条数据不对呀?不是最大值
SELECT *,MAX(car_online_time) from qdwyc_car_online GROUP BY car_num
这样查出来 第一条数据不对呀?不是最大值
select * from (select * from qdwyc_car_online order by car_online_time desc ) as m group by car_num
15 回答8.4k 阅读
8 回答6.2k 阅读
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
你
Group By
的是car_num
字段,所以实际上是按照car_num
来分组的, 按照car_num
分组之后:值为44的分组里面,
car_online_time
这个字段最大的值是2016-11-07 11:35:36
。值为66的分组里面,
car_online_time
这个字段最大的值是2016-11-07 11:29:26
。值为鲁B1的分组里面,
car_online_time
这个字段最大的值是2016-11-04 10:21:24
。所以结果没错。
因为你查询的内容是
*, MAX(..)
, 所以分组里的最大值是在最后一列, 而不是前面的数据。