一个有趣的查找--搜索最大值所在的ID号
来源:互联网 发布:数据之巅 pdf 编辑:程序博客网 时间:2024/05/16 09:40
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
ID NameScore
1 a 88
2 b 76
3 c 66
4 c 90
5 b 77
6 a 56
7 b 77
8 c 67
9 a 44
......
当然还有很多
要求搜索A,B,C三人各最好成绩,并且要列出最好成绩的序号即ID号
如:
ID NameScore
1 a 88
5 b 77
4 c 90
最初我觉得好象是初级的题,把眼光放在最大值上,但随后就觉得这重点不在最大值上,而是最大值所在的ID号。
题目难点:搜索出最大值所在的ID号
例外情况:每个人都可能出现几个最大的值
动脑:开始先想到这MAX函数:
SELECTMAX(Score),[Name]GROUPBY[Name]
但这该死的ID号怎么也插入不了
一线希望:用了个子查询:
SELECT[ID],[Name],Score
FROMTable1a
WHEREScoreIN
(SELECTMAX(b.Score)ASMAXScore
FROMTable1b
GROUPBYb.[Name])
可是,这ID号还是多出来了,原因是由于该搜索是以最大值的集合作依据,如77这个最大值,可能是B的最大值,但是A和C可能也会出现77这个数,但不是最大值,所以......
胜利,最后加了个条件,使最大值集合中的Name值,与搜索的Name值相符合
SELECT[ID],[Name],Score
FROMTable1a
WHEREScoreIN
(SELECTMAX(b.Score)ASMAXScore
FROMTable1b
GROUPBYb.[Name]HAVINGa.[Name]=b.[Name])
结果顺利出来结果
往往是不起眼的问题,很费脑
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
朋友出了个题,各有A,B,C三人做游戏,记录第次得分,经几十次游戏后,成绩如下:ID NameScore
1 a 88
2 b 76
3 c 66
4 c 90
5 b 77
6 a 56
7 b 77
8 c 67
9 a 44
......
当然还有很多
要求搜索A,B,C三人各最好成绩,并且要列出最好成绩的序号即ID号
如:
ID NameScore
1 a 88
5 b 77
4 c 90
最初我觉得好象是初级的题,把眼光放在最大值上,但随后就觉得这重点不在最大值上,而是最大值所在的ID号。
题目难点:搜索出最大值所在的ID号
例外情况:每个人都可能出现几个最大的值
动脑:开始先想到这MAX函数:
SELECTMAX(Score),[Name]GROUPBY[Name]
但这该死的ID号怎么也插入不了
一线希望:用了个子查询:
SELECT[ID],[Name],Score
FROMTable1a
WHEREScoreIN
(SELECTMAX(b.Score)ASMAXScore
FROMTable1b
GROUPBYb.[Name])
可是,这ID号还是多出来了,原因是由于该搜索是以最大值的集合作依据,如77这个最大值,可能是B的最大值,但是A和C可能也会出现77这个数,但不是最大值,所以......
胜利,最后加了个条件,使最大值集合中的Name值,与搜索的Name值相符合
SELECT[ID],[Name],Score
FROMTable1a
WHEREScoreIN
(SELECTMAX(b.Score)ASMAXScore
FROMTable1b
GROUPBYb.[Name]HAVINGa.[Name]=b.[Name])
结果顺利出来结果
往往是不起眼的问题,很费脑
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 一个有趣的查找--搜索最大值所在的ID号
- 一个有趣的查找--搜索最大值所在的ID号
- 一个有趣的查找--搜索最大值所在的ID号 (轉自:http://blog.csdn.net/dhlhh)
- 搜索最大值所在的ID号 - 和 - 用C#和数据库实现无限级分类法
- 容器中查找最大值所在的位置
- 容器中查找最大值所在的位置
- 利用二分搜索,查找一个给定的值所在区间
- 一个有趣的查找
- 查找一个序列的最大值和最小值
- 查找二叉搜索树中小于某个节点的最大值
- 查找序列的最大值
- 查找一个字段所在的表名、数据库名
- Search for a Range 查找一个数所在的范围
- Google搜索结果的一个有趣的宣传语
- 求一个二叉排序树查找成功的ASL的最大值
- 查找某段话所在的文件
- 查找shell所在的位置
- 查找字符串所在的文件
- ruby,类的不闭合,混合导入,block
- 【NT.CC】6款非常有用的JS数值格式
- WBS工作包资源划分时,要同时考虑开发人员的技能和责任心
- PATCHSET10.1.0.3&9.2.0.5
- 漫谈中的标识列(一)
- 一个有趣的查找--搜索最大值所在的ID号
- 联机日志文件损坏后的恢复方法
- jdk5 best practice
- sql有关日期的实现
- Jim Weirich Discusses Rake, the Ruby Make Tool
- sqlserver2000由于登录失败而无法启动服务解决(错误1069)
- 为什么要读好的框架或软件的源码?
- 中国股市收盘大幅上扬,因市场预计政府将出台更多救市举措
- 我的存储过程学习2