有一张表A
id uid
1 23
2 23
3 23
4 45
5 45
6 54
7 54
.........
现在要找出每个uid的最大id所对应的记录
我写了下面这条SQL语句
select * from A where id in (select max(id) from A group uid);
为什么我运行这一条SQL语句的时候会很久都没有反应,A表还不到3万条数据,我用的是linux下的mysql。
但是如果我单独运行select max(id) from A group uid;的时候就可以很快地得出结果,请问是不是我写的SQL语句有问题??
id uid
1 23
2 23
3 23
4 45
5 45
6 54
7 54
.........
现在要找出每个uid的最大id所对应的记录
我写了下面这条SQL语句
select * from A where id in (select max(id) from A group uid);
为什么我运行这一条SQL语句的时候会很久都没有反应,A表还不到3万条数据,我用的是linux下的mysql。
但是如果我单独运行select max(id) from A group uid;的时候就可以很快地得出结果,请问是不是我写的SQL语句有问题??
解决方案 »
- VC中遍历记录集时不能用字段索引吗?
- 如何让每一个用户进去之后只能操作服务器给自己规定好的的数据库
- mysql 排序的问题
- 求求大家帮帮忙,mysql如何编写树形的结构的语句,谢谢,郁闷很长时间了
- 从MySQL的完整备份文件中提取指定表
- mysql中的数据库表win下面有什么可视化工具查看修改吗?(没装mysql服务器的情况下)
- MySql中日文乱码问题
- -------------???columns used 和available columns 是什么意思????-------------
- mysql的sub-select
- 配置spark-sql配置完成后./bin/spark-sql一直进不去。卡在那里
- 实现下面功能的select语句(mysql),究竟该如何写呢?
- 如何使mysql表中数据虽系统时间更新
select max(id),uid from a group by uid
[征集]分组取最大N条记录方法征集,及散分....
select u.*
from A u,(select max(id) as id from A group uid) v
where u.id=v.id