【问题标题】:OFFSET with Where Clause SQL Query带有 Where 子句 SQL 查询的 OFFSET
【发布时间】:2016-03-11 20:51:03
【问题描述】:

我面临一个关于 OFFSET 的奇怪问题(在 linq 中使用跳过)。当我使用 where 子句过滤 null 值时,offset 会以错误的顺序返回记录。

select * from ExpectedApplication where ApplicationId is null
order by PaymentDate desc 
OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY 

select * from ExpectedApplication where ApplicationId is null
order by PaymentDate desc 
OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY 

输出是:

由于这个问题,我的分页结果返回了不正确的数据。请帮忙。非常感谢。

问候, 维韦克

【问题讨论】:

  • 用您的图片显示PaymentDate 列:select PaymentDate, * from ExpectedApplication where ApplicationId is null order by PaymentDate desc OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY
  • 很可能有问题的ID有相同的PaymentDate,所以排序不正确;尝试将Id 添加到ORDER BY 子句中。
  • 虽然它解决了问题,但我只想按日期订购。

标签: sql linq linq-to-sql


【解决方案1】:

我上传了新图片,其中也显示了 PaymentDate 列。小伙子,你是对的,这些 id 的付款日期是相同的,但为什么它会改变顺序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多