gpt4 book ai didi

c# - 带偏移量和获取的 SQL 查询

转载 作者:行者123 更新时间:2023-11-29 06:37:31 25 4
gpt4 key购买 nike

我正在创建一个基本的 ASP.net 博客主页。我有两个表(结构如下)。我需要这些表中的数据进行分页,因此我在查询本身中使用了 offsetskip

表格是:

表格 - 博客:

Id(primary),
Description,
Data,
CreatedById,
CreatedDate,
ImageUrl,
IsDeleted,
Tags,
StatusId(value = 1 for draft and 2 for publish)

表 - 博客类别:

Id,
BlogId(foreign key to table 1),
CategoryId

这些表中已经有数据。我正在使用以下查询来获取数据

Select *
from Blog b inner join
BlogCategories bc
on b.Id = bc.BlogId
where b.StatusId = 2 and bc.CategoryId = 2 and b.IsDeleted = 0
ORDER BY b.CreatedDate desc
OFFSET 73 ROWS
FETCH NEXT 9 ROWS ONLY;

此查询返回 0 行,但如果我从 where 子句中删除 statusId 和 CategoryId,则查询将返回一定数量的行。

预期结果是:

Expected result

我做错了什么或者有更好的方法吗?请在这件事上给予我帮助。谢谢。

最佳答案

OFFSET 用于省略特定数量的行,FETCH NEXT 用于获取紧随偏移量之后的一定数量的行,这里 order by 保留行的顺序,以便您准确地获得您期望的内容得到,所以如果你的查询没有给出输出,那么这意味着你在偏移 73 行后没有行可以获取,在你的情况下,查询只给出 7 行,因此你不会得到输出。

关于c# - 带偏移量和获取的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53139081/

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