gpt4 book ai didi

SQL top 5 记录算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:14:13 25 4
gpt4 key购买 nike

让我第一个承认我不是最擅长 SQL 的人,这个问题有点难倒。

我需要创建一个算法来返回表中的前 5 条记录。前 5 条记录应通过将 3 列加在一起得出,并返回得分最高的前 5 条记录。

谁能给我一些关于如何做这种声明的指示。

一段时间以来,我一直在处理一些代码,但进展并不迅速。

问候标记

最佳答案

我刚刚在 SQL Server Management Studio 中尝试了以下操作,它似乎可以满足您的要求:

SELECT TOP 5 * FROM
(
SELECT Value1, (Col1 + Col2 + Col3) AS Rank FROM MyTable
) tmp
ORDER BY Rank DESC

编辑
只是注意到您实际上不需要外部选择并且可以写:

SELECT TOP 5 Value1, (Col1 + Col2 + Col3) AS Rank FROM MyTable
ORDER BY Rank DESC

这已在 SQL Server 2008 中测试。


它在内部选择中从名为 MyTable 的表中选择一列的值和其他三个列的总和。外部选择按所选总和对这些进行排序并取前 5 名。

例子:源表包含如下数据

Value1    Col1    Col2    Col3
V0 0 0 0
V1 1 0 0
V2 2 0 0
V3 3 9 0
V4 4 9 0
V5 5 9 0
V6 6 9 10
V7 7 9 10

内部选择将创建

Value1    Rank
V0 0
V1 1
V2 2
V3 12
V4 13
V5 14
V6 25
V7 26

外层的选择会返回

Value1    Rank
V7 26
V6 25
V5 14
V4 13
V3 12

关于SQL top 5 记录算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15655396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com