You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写SQL查询Listings表中距离到期日最近的前10条有效房源

实现逻辑

你当前用的是SQL Server语法,按需求可直接按如下规则编写查询:

  1. 过滤条件加Status = 1只保留有效房源,可选补充ListingExpirydate >= GETDATE()过滤已到期的房源,避免数据中状态未同步更新的脏数据干扰结果
  2. 排序时优先按ListingExpirydate升序,等价于剩余到期天数从小到大排序,到期日相同的再按主键Id升序
  3. 用TOP 10取前10条符合要求的结果

最终查询语句

SELECT TOP 10 *
FROM Listings
WHERE Status = 1
  -- 若需要排除已经过期的房源,可保留下面这行条件
  AND ListingExpirydate >= GETDATE()
ORDER BY ListingExpirydate ASC, Id ASC;

如果你需要显式体现剩余到期天数的计算逻辑,也可以写成如下形式:

SELECT TOP 10 *,
       DATEDIFF(day, GETDATE(), ListingExpirydate) AS RemainingExpiryDays
FROM Listings
WHERE Status = 1
  AND ListingExpirydate >= GETDATE()
ORDER BY RemainingExpiryDays ASC, Id ASC;

内容的提问来源于stack exchange,提问作者I Love Stackoverflow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:45:03