首页 / 知识
关于sql server:通过SQL查询从列表中获得最高的” n”分
2023-04-13 19:43:00

SQL query to get the top “n” scores out of a list我想找到解决现实生活中问题的不同方法:想象一下在用户收集积分的竞赛或游戏中。您必须构建一个查询以显示得分最高的" n"用户列表。 我在举例说明。假设这是用户表,并获得了积分:
如果我想获得前三名,结果将是:
这可以根据需要在视图或存储过程中实现。我的目标数据库是Sql Server。实际上我已经解决了这个问题,但是我认为有不同的方法来获得结果……比我的更快或更有效。 未经测试,但应该可以工作:
这是可行的-我不知道它是否更有效,它是SQL Server 2005
很明显,第一个" with"是设置值,因此您可以测试第二个with,并最终选择工作-如果要查询现有表,则可以从" with results as ..."开始。 实际上,使用INNER JOIN对WHERE IN进行的修改会快得多。
怎么样:
不确定"具有关系"是否可以在其他SQL Server上使用。 在SQL Server 2005及更高版本上,您可以将" top"数字作为int参数传递:
嘿,我发现所有其他答案有点长且效率低下 这将显示前5分 试试这个
坩埚知道了(假设使用SQL 2005)。 @马特·汉密尔顿 您的答案适用于上面的示例,但如果数据集为100、75、75、50、50(仅返回3行),则该答案将无效。 TOP WITH TIES仅包含返回的最后一行的领带... @ Rob#37760:
如果N为3,此查询将仅选择3行,请参见问题。"前3个"应返回5行。 @Espo,感谢您的现实检查-添加了子选择来更正此问题。 我认为最简单的回应是:
如果要将其放入以N为参数的存储过程中,则必须将SQL读入变量然后执行它,或者执行行计数技巧:
strike> @bosnic,我认为它不能按要求工作,我对MS SQL不太熟悉,但我希望它仅返回3行,而忽略3个用户并列第3位这一事实。 类似的东西应该起作用:
|
最新内容
相关内容
python的调用绑定方法和非绑定方法
python的调用绑定方法和非绑定方法,代码,方法,实例,第一,培训,时计,奇数,偶数,参数,定义,在Python中,如果用实例去调用方法,这种限制就被称为PyPython网络编程调用接收数据的三种
Python网络编程调用接收数据的三种方法,数据,代码,基础,通用,通讯,服务,网络,培训,方法,报文,最近在使用python进行网络编程开发一个通用的tcPython 3.6 中针对文件系统的神奇
Python 3.6 中针对文件系统的神奇方法,数字,代码,数据,标准,信息,培训,首次,工作,文件名,常数,Python3.6首次发布于2016年,尽管它已经发布了很Python 之模块重载的五种方法
Python 之模块重载的五种方法,环境,培训,方法,模块,文件夹,例子,下面,内容,语句,请看,python环境准备新建一个foo文件夹,其下包含一个bar.py文提升Python数据分析能力的方法
提升Python数据分析能力的方法,分析,数据,工具,代码,时间,环境,报告,信息,培训,标准,1.Pandas分析包这个工具的好处是显而易见的。下面的动画Python中字典合并的实现方法
Python中字典合并的实现方法,培训,结果,以上,版本,字典,方法,函数,下面,背景,发现,TableofContents背景Methon1:适用于Python3.5及以上版本呢M学习python的三种方法
学习python的三种方法,项目,代码,公司,时间,工程,培训,中级,初级,资料,第一,Python的用途十分广泛,不同的程序员将其用于不用的领域,不同的程序Python文件读取相关方法
Python文件读取相关方法,数据,位置,文件,中行,培训,方法,字节,内容,结果,字符串,我们知道,对文件的读取操作需要将文件中的数据加载到内存中,而Python文件读取相关方法
Python文件读取相关方法,数据,位置,文件,中行,培训,方法,字节,内容,结果,字符串,我们知道,对文件的读取操作需要将文件中的数据加载到内存中,而Python 多线程死锁问题的巧妙解决
Python 多线程死锁问题的巧妙解决方法,异常,持有,代码,情况,信息,管理,数据,包装,策略,预期,死锁死锁的原理非常简单,用一句话就可以描述完。列举Python面向对象中带双下划线的
列举Python面向对象中带双下划线的特殊方法,信息,代码,培训,对象,属性,方法,实例,字符串,里边,内容,__new__:生成实例__init__:生成实例的属性_Python自定义模块导入方法
Python自定义模块导入方法,位置,代码,培训,模块,目录,方法,语句,函数,实例,以上,Python模块是一个Python文件,以.py结尾,包括了Python对象定义