【发布时间】:2015-03-27 15:54:48
【问题描述】:
大师们, 我有一张表,其中记录了所有客户的购物详细信息,如下所示。 shopmode 是主表 ID。
ShopDate CustomerId ShoppingMode
1/1/2011 a 0
1/1/2011 a 0
1/1/2011 a 1
1/1/2011 b 0
2/1/2011 a 0
2/1/2011 b 1
3/1/2011 a 1
3/1/2011 b 0
3/1/2011 c 0
我正在尝试查询需求 (日期为 dd/mm/yyyy)
- 在 shopdate、customerid、shopmode 上为每位客户显示一条记录
1/1/2011 a 0 1/1/2011 a 1 1/1/2011 b 0
- 在给定的日期范围内(2011 年 1 月 1 日-2011 年 3 月 1 日),需要具有唯一值 customerid + shopmode 的最近商店日期
3/1/2011 a 1 3/1/2011 b 0 3/1/2011 c 0 2/1/2011 b 1 2/1/2011 a 0
- 在给定的日期范围内 (1/1/2011-3/1/2011),按 shopdate 为 customerid 的最新日期
3/1/2011 a 1 3/1/2011 b 0 3/1/2011 c 0
需要你的帮助..
SELECT Max(shopdate),customerid, shopmode
FROM Table
有了这个结果,我将加入 shoppingdetail 表以显示数据。我正在尝试创建一个表变量或 CTE 显示我可以加入其他表。
【问题讨论】:
-
能否提供预期的输出?
-
使用
row_number()over(partition by ....)
标签: sql sql-server tsql