【发布时间】:2013-09-11 15:34:25
【问题描述】:
我在编写查询时遇到问题。
我想选择分组的每组行的第一行
我的桌子是Transactions:
userID | Date | StoreID
---------------------------
1 | 8-9-2013 | 10
1 | 9-9-2013 | 10
1 | 10-9-2013| 20
2 | 7-9-2013 | 30
2 | 8-9-2013 | 10
2 | 9-9-2013 | 20
1 | 11-9-2013| 10
2 | 10-9-2013| 20
我尝试这条 SQL 语句:
Select
tr.userID , Min(tr.TransactionDate) FirstDate
From
Transactions tr
Group By
tr.userID
我得到这个输出:
userID | Date
------------------
1 | 8-9-2013
2 | 7-9-2013
但我在每一次交易中都需要Store ID。
我需要它是这样的
userID | Date | StoreID
-------------------------
1 | 8-9-2013 | 10
2 | 7-9-2013 | 30
请任何人帮助我
【问题讨论】:
-
您的架构将列标识为“日期”,但您的查询使用
tr.TransactionDate。如果在您的代码中全部匹配,显然不是问题。 -
您意识到每个用户ID 可以有多个StoreID?你想保留哪一个?
标签: sql sql-server sql-server-2008 sql-server-2005