gpt4 book ai didi

sql-server - T-SQL : Need Top N to always return N rows, 即使为空或空白

转载 作者:行者123 更新时间:2023-12-01 04:38:19 24 4
gpt4 key购买 nike

T-SQL:需要 Top N 才能始终返回 N 行,即使为 null 或空白也是如此

通常,命令

Select Top 5 * FROM ourTable

将返回最多 5 行,但会更少,具体取决于这些行是否存在。

我想确保它总是 返回 5 行(或者通常是 N 行)。实现此目的的语法是什么?

想法是将“FirstOrDefault”的 LINQ 概念概括为“First_N_OrDefault”,但使用的是 TSQL 而不是 LINQ。

显然,“额外”行将包含空列或空列。

这适用于使用 SSMS 14.0.17 的 Microsoft SQL Server 2014

如果可能的话,我想使用“TOP”语法,因此它与可能的副本不同。此外,如下所述,这可能是可以在系统中的不同层解决的问题,但对于 TSQL 来说也很好。

最佳答案

select top (5) c1, c2, c3 from (
select top (5) c1, c2, c3, 0 as priority from ourTable
union all
select c1, c2, c3, 1 from (values (null, null, null), (null, null, null), (null, null, null), (null, null, null), (null, null, null)) v (c1, c2, c3)
) t
order by priority

关于sql-server - T-SQL : Need Top N to always return N rows, 即使为空或空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56041338/

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