首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

一个SQL查询有关问题,请问

2012-02-16 
一个SQL查询问题,请教iduseridtime-------------------10012010-03-0120012010-03-0230012010-03-03400120

一个SQL查询问题,请教
id userid time  
-------------------
1 001 2010-03-01
2 001 2010-03-02
3 001 2010-03-03
4 001 2010-03-05
5 001 2010-03-11
6 001 2010-03-13
7 002 2010-03-03
8 002 2010-03-05
9 002 2010-03-13
10 002 2010-03-15
11 002 2010-03-21
12 002 2010-03-23
13 003 2010-04-03
14 003 2010-04-05
15 004 2010-04-08
16 004 2010-04-09
17 005 2010-04-11
18 005 2010-04-13


表结构如上。。。
我想从这张表中查出每个人最后登录时间(也可以说是几个userid中ID最大的记录)
得到如下结果
id userid time  
-------------------
6 001 2010-03-13
12 002 2010-03-23
14 003 2010-04-05
16 004 2010-04-09
18 005 2010-04-13


请问此语句怎么写?因为这张表很大 考虑到效率问题 如何解决呢?

[解决办法]
select a.* from tt a inner join
(select userid,max(time) as ma from tt group by userid) b
on a,userid=b.userid and a.time=b.ma
[解决办法]
参考下贴中的几方法。

http://topic.csdn.net/u/20091231/16/2f268740-391e-40f2-a15e-f243b2c925ab.html
分组取最大N条记录方法征集
[解决办法]
刚刚回答弄错了


select id, max(time) from tableName group by userid

这样你事试一试 在我这里是好用的

好用的话记的结帖

热点排行