社区
MySQL
帖子详情
查询每类最大的两个值的SQL要怎么写啊~~
afeiqiang
2012-06-01 10:39:44
比如这样的场景:表 exam 记录学生每次测验的成绩,stu_id 是学生id,score 是成绩。查询出全部学生的最好的两次测验成绩的sql要怎么写?
比如表 exam 的数据如下,
1 98
1 96
2 100
1 85
2 89
2 90
3 82
3 66
3 75
查询到结果应该是
1 98
1 96
2 100
2 90
3 82
3 75
...全文
279
9
打赏
收藏
查询每类最大的两个值的SQL要怎么写啊~~
比如这样的场景:表 exam 记录学生每次测验的成绩,stu_id 是学生id,score 是成绩。查询出全部学生的最好的两次测验成绩的sql要怎么写? 比如表 exam 的数据如下, 198 196 2100 185 289 290 382 366 375 查询到结果应该是 198 196 2100 290 382 375
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
afeiqiang
2012-06-04
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
select *
from exam a
where id in (select id from exam where ClsNo=a.ClsNo order by Score desc limit 2)
order by a.ClsNo,a.Score desc
[/Quote]
上面几条亲测全通不过,不过还是谢谢
afeiqiang
2012-06-04
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
参考下贴中的多种方法
http://blog.csdn.net/acmain_chm/article/details/4126306
[征集]分组取最大N条记录方法征集,及散分....
[/Quote]
这个很好,谢谢
afeiqiang
2012-06-04
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
SELECT * from tty a where 2>(select count(*) from tty where a.id=id and a.score<score)
[/Quote]
琢磨了很久,终于弄明白了
Rotel-刘志东
2012-06-01
打赏
举报
回复
select *
from exam a
where id in (select id from exam where ClsNo=a.ClsNo order by Score desc limit 2)
order by a.ClsNo,a.Score desc
Rotel-刘志东
2012-06-01
打赏
举报
回复
select *
from Table1 a
where id in (select id from Table1 where ClsNo=a.ClsNo order by Score desc limit 2)
order by a.ClsNo,a.Score desc
ACMAIN_CHM
2012-06-01
打赏
举报
回复
参考下贴中的多种方法
http://blog.csdn.net/acmain_chm/article/details/4126306
[征集]分组取最大N条记录方法征集,及散分....
Rotel-刘志东
2012-06-01
打赏
举报
回复
select id, max(score) from exam
group by id
having count(id)=2
limit 2;
wwwwb
2012-06-01
打赏
举报
回复
SELECT * from tty a where 2>(select count(*) from tty where a.id=id and a.score<score)
小小小小蜗牛
2012-06-01
打赏
举报
回复
不来这么复杂啦 会晕的
select id, max(score) from exam
group by id
having count(id)=2
limit 2; 这个不错
SQL
查询
最大
值
,返回整行数据
SQL
查询
最大
值
,返回整行数据 1、问题 部分数据如下,未完整展示。如何从 table_a 表中
查询
p_postions 列的
最大
值
对应的一行数据? 在这里插入图片描述 2、解答 方法1:先排序,再取第一条 SELECT * FROM table_a order by p_postions desc limit 1;
查询
结果如下: 在这里插入图片描述 经过评论区小伙伴的提醒,这种先排序的方式虽然语法简单,但时间复杂度较高,是 O(n*logn)。 方法2:先查
最大
值
,再找到对应行
sql
查询
时间
最大
的
值
sql
语句
查询
时间
最大
的
值
查询
语句如下: 主要语法: isnull((select max(create_time) from a_task_carry),'')
最大
的时间 --
查询
时间
最大
值
select create_by, isnull((select max(create_time) from a_task_carry),'')
最大
的时间, create_time from a_task_carry ...
5根据条件
查询
最大
id的
值
_彻底弄懂
sql
select各种
查询
用法
相信很多人和我一样,学习
sql
就是记忆各种
sql
的语法,但是记了一大堆的语法,在遇到实际
查询
问题时又无从下手的感觉。本文主要是针对
sql
中select用法的总结,用于帮助大家解决记了相关语法却不知如何应用的问题。首先对select
查询
用法有一个大概的了解:分组
查询
(group by), 连接
查询
(join), 聚合
查询
(使用到sum,avg等函数)。遇到具体
查询
问题,心里有一个方向,要使用哪...
SQL
查询
两个
时间字段
值
,其中
最大
的一个
得到表中
两个
字段中,其中一个
最大
的
值
select (case when c.a>c.b then c.a else c.b end) as MaxTime from (SELECT MAX(字段1) as a ,MAX(字段2) as b FROM [表] ) as c 执行完成之后得到
最大
的
值
转载于:https://www.cnblogs.com/cfss...
使用
SQL
将人员按性别分类并
查询
每种性别年纪
最大
的
两个
人
在做统计时经常遇到这样的需求,将数据按某种属性分类,按另一属性排序,
查询
排在前几位的数据信息。
MySQL
57,064
社区成员
56,761
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章