MYSQL中如何获取最后一条记录

MYSQL中如何获取最后一条记录,第1张

先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录。

这里面有个困难,就是插入主表记录后,如何获得它对应的id。

通常的做法,是通过“select max(id) from tablename”的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表加以“X锁“,待获得max(id)的值以后,再解锁。

查询今天最后一条数据

SELECT * FROM `weibo_logs` where DATEDIFF( NOW(),date)=0 order by `date` desc limit 1

查询符合条件的weibo_user_id每天的一条数据

SELECT weibo_user_id, DATE_FORMAT(date,'%Y-%m-%d') FROM `text` where 'weibo_user_id'='{$source_account->id}' GROUP BY DATE_FORMAT(date,'%Y-%m-%d')

这样会有排序问题,那么就先排序

SELECT DATE_FORMAT(date,'%Y-%m-%d') as d

FROM (SELECT * FROM `text` ORDER BY date DESC) as s

where 'weibo_user_id'='{$source_account->id}'

GROUP BY DATE_FORMAT(date,'%Y-%m-%d')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7271353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存