【发布时间】:2020-05-19 15:11:34
【问题描述】:
我有一种情况,我认为可以将其与 CamelCamelCamel、Keepa 等服务进行比较。
假设我每天跟踪几个国家/地区的一篇文章的价格。所以我的桌子,我们称之为Trend,看起来像这样
Id Created ArticleId Country Price
-------------------------------------------------
01 19/11/05 452 US 45.90
02 19/11/05 452 CA 52.99
03 19/11/05 452 MX 99.99
04 19/11/06 452 US 20.00
05 19/11/06 452 CA 25.00
06 19/11/06 452 MX 50.00
...
97 19/11/05 738 US 12.99
98 19/11/05 738 CA 17.50
99 19/11/05 738 MX 45.50
所以现在是第二天,我想更新Trend 表。如果某个国家/地区的价格仍然相同,我会跳过文章/国家/地区组合。如果有新的价格我会添加新的记录。
现在我想查询表以获取每个 ArticleId / Country 组合。但只有它的最后一条记录(按时间戳排序)。所以以上面的例子为例,我希望得到ArticleId452 的记录04、05 和06。不是01、02 和03
所以我从这个基本查询开始。但是我该如何改变它以获得我的预期结果呢?
SELECT
*
FROM
Trend
ORDER BY
Created DESC
【问题讨论】:
标签: sql sql-server tsql date greatest-n-per-group