Sql 查询两个具有相同值但日期在24个月内的条目
假设我有这张桌子:Sql 查询两个具有相同值但日期在24个月内的条目,sql,sql-server,tsql,Sql,Sql Server,Tsql,假设我有这张桌子: > dbo.IceCreamOrders > - ID (int) > - CustomerID (int) > - Flavor (varchar(100)) > - DateOrdered (datetime) 我想统计24个月内连续订购香草2次(或更多)的客户。如何做到这一点?了解24个月内的Vanilla数量。不是连续的普通订单 SELECT I1.CustomerID FROM dbo.IceCreamOrders I1
> dbo.IceCreamOrders
> - ID (int)
> - CustomerID (int)
> - Flavor (varchar(100))
> - DateOrdered (datetime)
我想统计24个月内连续订购香草2次(或更多)的客户。如何做到这一点?了解24个月内的Vanilla数量。不是连续的普通订单
SELECT
I1.CustomerID
FROM
dbo.IceCreamOrders I1
JOIN
dbo.IceCreamOrders I2 ON I1.CustomerID = I2.CustomerID AND I1.Flavor = I2.Flavor AND
DATEDIFF(month, I1.DateOrdered, I2.DateOrdered) <= 24
WHERE
I1.Flavor = 'Vanilla'
GROUP BY
I1.CustomerID
HAVING
COUNT(*) >= 2
选择
I1.CustomerID
从…起
dbo.I1冰淇淋
参加
dbo.icecream在I1.CustomerID=I2.CustomerID和I1.Flavor=I2.Flavor和
DATEDIFF(月,I1.DateOrdered,I2.DateOrdered)=2
你的意思是香草错了吗?只算香草吗?