mysql查询sql求助
很长时间没写过sql了,有个需求请大神帮忙写个sql。
有一张表:
CREATE TABLE `user_data` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`userid` bigint(20) NOT NULL COMMENT '用户ID',
`username` varchar(30) NOT NULL COMMENT '姓名',
`score` int(11) NOT NULL COMMENT '分数',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
现插入数据
insert into user_data(userid,username,score) values(1,'小明',3);
insert into user_data(userid,username,score) values(1,'小明',4);
insert into user_data(userid,username,score) values(1,'小明',4);
insert into user_data(userid,username,score) values(1,'小明',5);
insert into user_data(userid,username,score) values(1,'小明',5);
insert into user_data(userid,username,score) values(1,'小明',5);
insert into user_data(userid,username,score) values(2,'小李',3);
insert into user_data(userid,username,score) values(2,'小李',4);
insert into user_data(userid,username,score) values(2,'小李',4);
insert into user_data(userid,username,score) values(2,'小李',8);
insert into user_data(userid,username,score) values(2,'小李',8);
insert into user_data(userid,username,score) values(2,'小李',5);
要求用一条sql取出所有人得分最多的那条记录如有相同得分的取自增ID最大的那条,意思就是一条sql的结果是

有一张表:
CREATE TABLE `user_data` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`userid` bigint(20) NOT NULL COMMENT '用户ID',
`username` varchar(30) NOT NULL COMMENT '姓名',
`score` int(11) NOT NULL COMMENT '分数',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
现插入数据
insert into user_data(userid,username,score) values(1,'小明',3);
insert into user_data(userid,username,score) values(1,'小明',4);
insert into user_data(userid,username,score) values(1,'小明',4);
insert into user_data(userid,username,score) values(1,'小明',5);
insert into user_data(userid,username,score) values(1,'小明',5);
insert into user_data(userid,username,score) values(1,'小明',5);
insert into user_data(userid,username,score) values(2,'小李',3);
insert into user_data(userid,username,score) values(2,'小李',4);
insert into user_data(userid,username,score) values(2,'小李',4);
insert into user_data(userid,username,score) values(2,'小李',8);
insert into user_data(userid,username,score) values(2,'小李',8);
insert into user_data(userid,username,score) values(2,'小李',5);
要求用一条sql取出所有人得分最多的那条记录如有相同得分的取自增ID最大的那条,意思就是一条sql的结果是

...全文
相关推荐
SQL如何实现MYSQL的递归查询
主要介绍了根据递归到迭代转化的思路,利用SQL实现了MYSQL的递归查询,需要的朋友可以参考下
MySQL SQL查询语句大全集锦(经典珍藏)
MySQL SQL查询语句大全集锦(经典珍藏),可以每天练习的
mysql数据导入elasticsearch并支持SQL查询
支持定时任务导入mysql数据到elasticsearch 支持SQL语句查询elasticsearch,提供dubbo服务接口 定时任务支持quartz与lts方式
MySQL SQL多表关联查询最佳实例
Mysql学习中 ,单表查询每个人都很容易掌握;但是多表之间的关联查询对于初学者是很难掌握的,以下是我学习中,结合老师所讲例子作的总结,主要就是三张表的关联查询。还包括group by操作。Join on;left join on;group by。
查找MySQL中查询慢的SQL语句方法
如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用–log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志文件,通过查看这个日志文件定位效率较低的SQL 。下面介绍MySQL中如何查询慢的SQL语句 一、MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句 1,slow_query_log 这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。 2,long_query_time 当S


