mysql 查询最新的一条数据(整个表的)

已知:t表,里面有createtime字段,根据某个字段(unitproject_xid)取最新的一条数据;
第一种方法(排序+分组):

select t.*  from(select * from t order by t.createtime desc) t group  by t.unitproject_xid;

第二种方法(自连接):

select t1.* 
from t t1 
left join t t2 on t1.unitproject_xid = t2.unitproject_xid and t1.createtime <t2.createtime 
where t2.id is null;

由于数据量比较小,没有比较两种方法具体哪个比较好

你可能感兴趣的:(mysql)