仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 532|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网页设计一个风趣的查找--搜刮最年夜值地点的ID号...

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:25:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失最年夜值伴侣出了个题,各有A,B,C三人做游戏,纪录第次得分,经几十次游戏后,成就以下:

IDNameScore
1a88
2b76
3c66

4c90
5b77
6a56

7b77
8c67
9a44

......

固然另有良多

请求搜刮A,B,C三人各最好成就,而且要列出最好成就的序号即ID号
如:
IDNameScore
1a88
5b77
4c90

最后我以为好象是低级的题,把目光放在最年夜值上,但随后就以为这重点不在最年夜值上,而是最年夜值地点的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])

了局顺遂出来了局
常常是不起眼的成绩,很费脑
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-19 11:07:55 | 只看该作者
如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
再现理想 该用户已被删除
板凳
发表于 2015-2-3 12:07:14 | 只看该作者
代替了原来VB式的错误判断。比Oracle高级不少。
透明 该用户已被删除
地板
发表于 2015-2-8 20:56:14 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
兰色精灵 该用户已被删除
5#
发表于 2015-2-26 11:00:56 | 只看该作者
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
柔情似水 该用户已被删除
6#
发表于 2015-3-8 13:56:52 | 只看该作者
作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!
金色的骷髅 该用户已被删除
7#
发表于 2015-3-16 02:28:08 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
深爱那片海 该用户已被删除
8#
 楼主| 发表于 2015-3-22 19:09:33 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表