博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分组取前N记录
阅读量:6931 次
发布时间:2019-06-27

本文共 1114 字,大约阅读时间需要 3 分钟。

问题:有表 如下,要求取出各班前两名(允许并列第二)

Table1
+----+------+------+-----+
| id |SName |ClsNo |Score|
+----+------+------+-----+
|  1 |AAAA  |  C1  | 67  |
|  2 |BBBB  |  C1  | 55  |
|  3 |CCCC  |  C1  | 67  |
|  4 |DDDD  |  C1  | 65  |
|  5 |EEEE  |  C1  | 95  |
|  6 |FFFF  |  C2  | 57  |
|  7 |GGGG  |  C2  | 87  |
|  8 |HHHH  |  C2  | 74  |
|  9 |IIII  |  C2  | 52  |
| 10 |JJJJ  |  C2  | 81  |
| 11 |KKKK  |  C2  | 67  |
| 12 |LLLL  |  C2  | 66  |
| 13 |MMMM  |  C2  | 63  |
| 14 |NNNN  |  C3  | 99  |
| 15 |OOOO  |  C3  | 50  |
| 16 |PPPP  |  C3  | 59  |
| 17 |QQQQ  |  C3  | 66  |
| 18 |RRRR  |  C3  | 76  |
| 19 |SSSS  |  C3  | 50  |
| 20 |TTTT  |  C3  | 50  |
| 21 |UUUU  |  C3  | 64  |
| 22 |VVVV  |  C3  | 74  |
+----+------+------+-----+
结果如下
+----+------+------+-----+
| id |SName |ClsNo |Score|
+----+------+------+-----+
|  5 |EEEE  |  C1  | 95  |
|  1 |AAAA  |  C1  | 67  |
|  3 |CCCC  |  C1  | 67  |
|  7 |GGGG  |  C2  | 87  |
| 10 |JJJJ  |  C2  | 81  |
| 14 |NNNN  |  C3  | 99  |
| 18 |RRRR  |  C3  | 76  |
+----+------+------+-----+

方法一:

select a.id,a.SName,a.ClsNo,a.Score
from Table1 a left join Table1 b on a.ClsNo=b.ClsNo and a.Score<b.Score
group by a.id,a.SName,a.ClsNo,a.Score
having count(b.id)<2
order by a.ClsNo,a.Score desc

转自:

转载地址:http://vjljl.baihongyu.com/

你可能感兴趣的文章
[原]Android打包之Eclipse打多渠道包
查看>>
表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
查看>>
bat启动/停止oracle服务
查看>>
一、UITableView的属性
查看>>
python setuptools工具打包
查看>>
UVa 101 The Blocks Problem
查看>>
指针二次释放(_BLOCK_TYPE_IS_VALID)
查看>>
【转】每天一个linux命令(51):lsof命令
查看>>
copy_to_user 和 copy_from_user
查看>>
【MVC】 文件及URL 的整理
查看>>
【玩转Golang】reflect.DeepEqual
查看>>
python中的commands模块,执行出错:'{' 不是内部或外部命令,也不是可运行的程序 或批处理文件。...
查看>>
【调侃】IOC前世今生(转载)
查看>>
DLog的使用
查看>>
Java输入输出处理技术1
查看>>
JAVA三大框架SSH和MVC
查看>>
[SAP ABAP开发技术总结]增强Enhancement
查看>>
自己在总结前人经验下弄的几个opencv封装函数
查看>>
How do I create a zip file?(转)
查看>>
典型:Eayui项目aspx页面引用js
查看>>