我正在尝试选择今年最畅销产品的前几年数据,以了解它们随着时间的推移表现如何。
我目前有这样的东西:
SELECT TOP 10 *
WHERE Table.Year = 2016
ORDER BY Table.Transactions DESC
这为我提供了当年的数据,但我不确定如何提取前几年相同前 10 名的数据,因为今年的前 10 名可能与往年的前 10 名不同。
我想知道是否有办法做一些类似的事情:
SELECT *
WHERE Table.Year = 2015
AND (order ID was in Top 10 in 2016)
ORDER BY Table.Transactions DESC
除了显然我不知道用什么来代替括号条件。
如有任何建议,我们将不胜感激。谢谢!
最佳答案
你想要这个吗:
SELECT *
From Table
WHERE Table.Year = 2015
AND ID IN (
SELECT TOP 10 ID
FROM Table
WHERE Table.Year = 2016
ORDER BY Table.Transactions DESC
)
ORDER BY Table.Transactions DESC
关于SQL 选择行,前提是它们包含在给定年份的 TOP 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40271274/