SQL 服务器:具有最短日期的回头客
SQL Server : returning customers with minimum dates
我正在尝试 运行 一个查询,该查询将 return 昨天创建了第一个申请的所有客户 ID。我一直在想如何使用 MIN
函数和 HAVING
.
WHERE
子句中的声明用于将日期与昨天进行比较,但我一直卡在如何写它以显示公司昨天有 FIRST/MINIMUM 开始日期。
示例如下,以添加一些颜色:
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)
我想你想要 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())
我正在尝试 运行 一个查询,该查询将 return 昨天创建了第一个申请的所有客户 ID。我一直在想如何使用 MIN
函数和 HAVING
.
WHERE
子句中的声明用于将日期与昨天进行比较,但我一直卡在如何写它以显示公司昨天有 FIRST/MINIMUM 开始日期。
示例如下,以添加一些颜色:
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)
我想你想要 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())