sql语句查询最后一个数据

用户名

我开始学习如何编写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;

SQL FIDDLE DEMO

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档