Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 查询两个具有相同值但日期在24个月内的条目_Sql_Sql Server_Tsql - Fatal编程技术网

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

你的意思是香草错了吗?只算香草吗?