【问题标题】:SQL Server : returning customers with minimum datesSQL Server:返回客户最少日期
【发布时间】:2021-01-23 23:44:58
【问题描述】:

我正在尝试运行一个查询,该查询将返回昨天创建了第一个申请的所有客户 ID。我一直在纠结如何使用MIN 函数和HAVING

WHERE 子句中的语句用于将日期与昨天进行比较,但我一直卡在如何编写它以显示公司昨天的第一个/最小开始日期。

下面是添加一些颜色的示例:

SELECT
    P.CUSTOMERID,
    M.CREATEDDATE
FROM 
    DBO.MATCH M
INNER JOIN 
    DBO.POSITION P ON M.REQUISIIONID = P.REQUISITIONID
WHERE
    DATEADD(d, (DATEDIFF(d, 0, m.CREATEDDATE)), 0) = DATEADD(d, (DATEDIFF(d, 0, GETDATE() - 1)), 0)

【问题讨论】:

    标签: sql sql-server min


    【解决方案1】:

    我认为您想group by 客户,并使用having 子句进行过滤:

    select p.customerid, min(m.createddate) min_createddate
    from dbo.match m
    inner join dbo.position p on m.requisiionid = p.requisitionid
    group by p.customerid
    having min(m.createddate) = dateadd(day, -1, convert(date, getdate())
    

    【讨论】:

      猜你喜欢
      • 2015-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-12
      • 2011-11-05
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      相关资源
      最近更新 更多