我确实四处搜索,发现此 SQL 选择最近日期的行,其中包含两个唯一列 ,这与我想要的非常接近,但我似乎无法使其工作。
我收到错误 选择列表中的“ID”列无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
我想要每个不同名称的最新行
Select ID,Name,Price,Date
From table
Group By Name
Order By Date ASC
这是我想要的一个例子
桌子
ID | 姓名 | 价格 | 日期 |
---|---|---|---|
0 | 一个 | 10 | 2012-05-03 |
1 | 乙 | 9 | 2012-05-02 |
2 | 一个 | 8 | 2012-05-04 |
3 | C | 10 | 2012-05-03 |
4 | 乙 | 8 | 2012-05-01 |
期望的结果
ID | 姓名 | 价格 | 日期 |
---|---|---|---|
2 | 一个 | 8 | 2012-05-04 |
3 | C | 10 | 2012-05-03 |
1 | 乙 | 9 | 2012-05-02 |
我正在使用 Microsoft SQL Server 2008