一张数据库表,就三个列:得分(score),所属账号(acount),得分日期(date)。
我想用一个SQL语句查出每个账号的得分最高的分数及对应的日期。
话说查出每个账号的最高分我会,可是同时查出对应的日期我就不会了。。
(原来我是用循环的,每个账号查一遍“SELECT score,date FROM test WHERE account = XXXXX ORDER BY score LIMIT 1” 不过发现效率太低了,想找个一步解决或几步内解决的方法~)之前曾经在这里问过,大家给出的答案是:
select *
from tb A
where not exists(select 1 from tb where A.score<score and A.account=account)实测:可用,但效率低,不知有没有更加有效率的办法。环境:MySQL 5.1小弟新新菜鸟一只,还望各位不吝赐教~
我想用一个SQL语句查出每个账号的得分最高的分数及对应的日期。
话说查出每个账号的最高分我会,可是同时查出对应的日期我就不会了。。
(原来我是用循环的,每个账号查一遍“SELECT score,date FROM test WHERE account = XXXXX ORDER BY score LIMIT 1” 不过发现效率太低了,想找个一步解决或几步内解决的方法~)之前曾经在这里问过,大家给出的答案是:
select *
from tb A
where not exists(select 1 from tb where A.score<score and A.account=account)实测:可用,但效率低,不知有没有更加有效率的办法。环境:MySQL 5.1小弟新新菜鸟一只,还望各位不吝赐教~
解决方案 »
- 如何快速插入大量数据比如几千万上亿的带索引的数据
- 远程客户端,mysql5.5无法启动,mysqld.exe[5540]中出现未处理的win32异常,什么情况?怎么解决?
- windows下的mysql配置应该如何设置
- mysql实现多个字段重复内容的查询
- 关于left join 和count一起使用的疑惑
- 请问下面两个sql语句哪个效率高?为什么?
- 怎样删除用户
- mysql如何用另一个表去更新某一个表的字段?
- MySQL 怎么做 二维统计?如何 将列内的数据求和,行内的数据求和
- MySQL日期比较使用date函数不比较时分秒
- mysql 事件不执行
- update更新2000多条数据,意外终止?急求教!!!
from (select * from test order by Score desc) t
group by account
参考下贴中的多种方法http://blog.csdn.net/acmain_chm/article/details/4126306
[征集]分组取最大N条记录方法征集,及散分....