我开始学习如何编写sql语言,但是遇到了以下问题:现在,我在名为“数据”的表中有一个数据
+ ------ + ---------------------- + | id | 日期| + ------ + ---------------------- + | 1 | 2009-05-10 09:17:25 | | 2 | 2010-04-09 09:17:25 | | 3 | 2010-12-12 09:17:25 | | 4 | 2011-01-11 09:17:25 | | 5 | 2012-03-19 09:17:25 | | 7 | 2012-05-20 09:17:25 | | 8 | 2013-02-21 09:17:25 | | 9 | 2013-02-02 09:17:25 | + ------ + ---------------------- +
我想写一条sql语句,以使去年从sysdate获得3,所以我想要得到的结果是
+ ------ + | 日期| + ------ + | 2011 | | 2012 | | 2013 | + ------ +
假设我们不完全知道多少种不同类型和数量的列,那么您能指导我如何处理此问题吗?
提前致谢
您可以尝试以下查询:
WITH years([year])
AS
(
SELECT DISTINCT TOP 3 YEAR([date]) AS [date]
FROM Table1
ORDER BY YEAR([date]) DESC
)
SELECT TOP 3 [year]
FROM years
ORDER BY [year] ASC;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句