獲取MySQL的表中每個(gè)userid最后一條記錄的方法
更新時(shí)間:2015年05月09日 11:55:18 作者:吳炳錫
這篇文章主要介紹了獲取MySQL的表中每個(gè)userid最后一條記錄的方法,并且針對(duì)userid不唯一的情況,需要的朋友可以參考下
如下表:
CREATE TABLE `t1` ( `userid` int(11) DEFAULT NULL, `atime` datetime DEFAULT NULL, KEY `idx_userid` (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `t1` ( `userid` int(11) DEFAULT NULL, `atime` datetime DEFAULT NULL, KEY `idx_userid` (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
數(shù)據(jù)如下:
MySQL> select * from t1; +--------+---------------------+ | userid | atime | +--------+---------------------+ | 1 | 2013-08-12 11:05:25 | | 2 | 2013-08-12 11:05:29 | | 3 | 2013-08-12 11:05:32 | | 5 | 2013-08-12 11:05:34 | | 1 | 2013-08-12 11:05:40 | | 2 | 2013-08-12 11:05:43 | | 3 | 2013-08-12 11:05:48 | | 5 | 2013-08-12 11:06:03 | +--------+---------------------+ 8 rows in set (0.00 sec) MySQL> select * from t1; +--------+---------------------+ | userid | atime | +--------+---------------------+ | 1 | 2013-08-12 11:05:25 | | 2 | 2013-08-12 11:05:29 | | 3 | 2013-08-12 11:05:32 | | 5 | 2013-08-12 11:05:34 | | 1 | 2013-08-12 11:05:40 | | 2 | 2013-08-12 11:05:43 | | 3 | 2013-08-12 11:05:48 | | 5 | 2013-08-12 11:06:03 | +--------+---------------------+ 8 rows in set (0.00 sec)
其中userid不唯一,要求取表中每個(gè)userid對(duì)應(yīng)的時(shí)間離現(xiàn)在最近的一條記錄.初看到一個(gè)這條件一般都會(huì)想到借用臨時(shí)表及添加主建借助于join操作之類的.
給一個(gè)簡(jiǎn)方法:
MySQL> select userid,substring_index(group_concat(atime order by atime desc),",",1) as atime from t1 group by userid; +--------+---------------------+ | userid | atime | +--------+---------------------+ | 1 | 2013-08-12 11:05:40 | | 2 | 2013-08-12 11:05:43 | | 3 | 2013-08-12 11:05:48 | | 5 | 2013-08-12 11:06:03 | +--------+---------------------+ 4 rows in set (0.03 sec) MySQL> select userid,substring_index(group_concat(atime order by atime desc),",",1) as atime from t1 group by userid; +--------+---------------------+ | userid | atime | +--------+---------------------+ | 1 | 2013-08-12 11:05:40 | | 2 | 2013-08-12 11:05:43 | | 3 | 2013-08-12 11:05:48 | | 5 | 2013-08-12 11:06:03 | +--------+---------------------+ 4 rows in set (0.03 sec)
Good luck!
相關(guān)文章
一次docker登錄mysql報(bào)錯(cuò)問題的實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了一次docker登錄mysql報(bào)錯(cuò)問題的實(shí)戰(zhàn)記錄,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01
MySQL定時(shí)任務(wù)不能正常執(zhí)行的原因分析及解決方法
大家好,本篇文章主要講的是MySQL定時(shí)任務(wù)不能正常執(zhí)行的原因分析及解決方法,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
2021-12-12
MySQL核心參數(shù)優(yōu)化文件my.ini實(shí)現(xiàn)
本文主要介紹了MySQL核心參數(shù)優(yōu)化文件my.ini實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
2023-01-01
MySql狀態(tài)查看方法 MySql如何查看連接數(shù)和狀態(tài)?
如果是root帳號(hào),你能看到所有用戶的當(dāng)前連接。如果是其它普通帳號(hào),只能看到自己占用的連接
2012-11-11 
