select * from bb where (date+time) in (select max(date+time) from bb group by aaa)
哦,忘了时间 SELECT aaa,bbb,max(date+time) FROM tbl GROUP BY aaa
SELECT * FROM tb_name a WHERE CONCAT(data,time) = (SELECT MAX(CONCAT(data,time)) FROM tb_name b WHERE a.aaa=b.aaa);
上面的字段名data拼写错了,应为date,改正如下:SELECT * FROM tb_name a WHERE CONCAT(date,time) = (SELECT MAX(CONCAT(date,time)) FROM tb_name b WHERE a.aaa=b.aaa);
DROP TABLE IF EXISTS temp_user_history; CREATE TABLE temp_user_history select aaa,max(concat(date,time_format(time,'%H:%i:%s'))) as dd from sys_user_history group by aaaselect a.aaa,a.bbb,a.date,a.time from sys_user_history a,temp_user_history b where concat(a.date,time_format(a.time,'%H:%i:%s'))=b.dd and a.aaa=b.aaa我找到折衷的方法,分两步,可以实现我的的需求
SELECT aaa,bbb,max(date+time)
FROM tbl
GROUP BY aaa
(SELECT MAX(CONCAT(data,time)) FROM tb_name b WHERE a.aaa=b.aaa);
(SELECT MAX(CONCAT(date,time)) FROM tb_name b WHERE a.aaa=b.aaa);
CREATE TABLE temp_user_history select aaa,max(concat(date,time_format(time,'%H:%i:%s'))) as dd from sys_user_history group by aaaselect a.aaa,a.bbb,a.date,a.time from sys_user_history a,temp_user_history b where concat(a.date,time_format(a.time,'%H:%i:%s'))=b.dd and a.aaa=b.aaa我找到折衷的方法,分两步,可以实现我的的需求