gpt4 book ai didi

c# - 从两个不同的表中确定 SQL Server 中的前 k 个值

转载 作者:行者123 更新时间:2023-11-30 15:23:23 25 4
gpt4 key购买 nike

我有两个表 table_1table_2,每个表都包含 N 个整数值。

要求是获取表中的前 10 个 整数。

考虑到 N 是一个 7 位大数字,在 SQL Server 中实现此目的的最有效方法是什么?

如果这是一个一般的编程问题,最大堆将是解决这个问题的最佳数据结构,所以我想知道是否有一个替代方案在 SQL Server 中执行类似。

我能想到的唯一其他解决方案是通过将 table_2 值插入 table_1 来组合这些表,发出 ORDER BY 子句并选出前 10 名。

最佳答案

对于不同的前 10 个数字

select top 10 
res.value
from (
select value from table_1
union
select value from table_2
) res(value)
order by res.value desc

对于前 10 个数字

select top 10 
res.value
from (
select value from table_1
union all
select value from table_2
) res(value)
order by res.value desc

关于c# - 从两个不同的表中确定 SQL Server 中的前 k 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34485847/

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