SQL Server:如何获取上一年的数据并在输出中创建一行

马丹

我有一个交货表,如下所示:

表

我要明智地计算分娩年龄。在这几年中,2010年交付的车辆将被计为2010年的0岁,2011年的1岁和2012年的2岁,依此类推。

所需的输出

请帮助我了解如何在SQL查询中执行此操作。我是这个论坛的新手,所以没有添加图像的权限。

戈登·利诺夫

假设您每年都有交货,我将其视为JOIN和汇总:

with years as (
      select distinct year(deliverydate) as yyyy
      from vehicle
     )
select y.yyyy, (y.yyyy - year(v.deliverydate)) as age , count(*)
from vehicle v join
     years y
     on y.yyyy >= year(v.deliverydate) 
group by y.yyyy, (y.yyyy - year(v.deliverydate))
order by y.yyyy, (y.yyyy - year(v.deliverydate));

如果您每年没有交货,则可以明确列出它们:

select y.yyyy, (y.yyyy - year(v.deliverydate)) as age , count(*)
from vehicle v join
     (values (2010), (2011), (2012), (2013)) y(yyyy)
     on y.yyyy >= year(v.deliverydate) 
group by y.yyyy, (y.yyyy - year(v.deliverydate))
order by y.yyyy, (y.yyyy - year(v.deliverydate));

是db <>小提琴。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在sql / postgresql中获取一年之间的每10天数据?

来自分类Dev

SQL Server并使用日期,年份和上一年

来自分类Dev

SQL Server并使用日期,年份和上一年

来自分类Dev

SQL查询特定年份和上一年的数据

来自分类Dev

2上一年的数据的可变SQL查询

来自分类Dev

保留上一年数据的累积总和 - SQL Server

来自分类Dev

在 MS SQL 中每周获取过去一年的记录

来自分类Dev

如何使用SQL获取一年中的第一天和一年中的最后一天?

来自分类Dev

如何使用SQL获取一年中的第一天和一年中的最后一天?

来自分类Dev

上一年的 SQL 运行总数

来自分类Dev

如何显示来自上个月同一月份的上一年同期SQL Server 2008的数据

来自分类Dev

在一行SQL中显示输出

来自分类Dev

如何使用另一列获取值并在MySQL或SQL中获得每一行之间的差异?

来自分类Dev

如何获取 SQL 数据正常的第一行

来自分类Dev

比较当前行与 SQL Server 中的上一行

来自分类Dev

如何比较上一行的日期和更新SQL Server中的条目

来自分类Dev

如何在SQL Server中“复制”一行?

来自分类Dev

如何在sql server中的一行添加列?

来自分类Dev

SQL Server如何只更新数据库中的一行?

来自分类Dev

T-SQL上一年下一年总计

来自分类Dev

SQL Server-比较当年的月份和上一年的月份

来自分类Dev

SQL动态查询上一年和当年的所有数据

来自分类Dev

SQL Server 2005:查找一年不下订单的客户

来自分类Dev

sql上一行

来自分类Dev

如何创建存储过程以获取SQL Server 2008中上一列Entry的值?

来自分类Dev

Proc SQL:通过将数据从一年复制到另一年来创建视图

来自分类Dev

如何选择上一年未捐款的捐助者(SQL)

来自分类Dev

如何在SQL中计算当年和同月与上一年的差值

来自分类Dev

我应该使用smallint还是numeric(4,0)在SQL Server中存储一年

Related 相关文章

  1. 1

    如何在sql / postgresql中获取一年之间的每10天数据?

  2. 2

    SQL Server并使用日期,年份和上一年

  3. 3

    SQL Server并使用日期,年份和上一年

  4. 4

    SQL查询特定年份和上一年的数据

  5. 5

    2上一年的数据的可变SQL查询

  6. 6

    保留上一年数据的累积总和 - SQL Server

  7. 7

    在 MS SQL 中每周获取过去一年的记录

  8. 8

    如何使用SQL获取一年中的第一天和一年中的最后一天?

  9. 9

    如何使用SQL获取一年中的第一天和一年中的最后一天?

  10. 10

    上一年的 SQL 运行总数

  11. 11

    如何显示来自上个月同一月份的上一年同期SQL Server 2008的数据

  12. 12

    在一行SQL中显示输出

  13. 13

    如何使用另一列获取值并在MySQL或SQL中获得每一行之间的差异?

  14. 14

    如何获取 SQL 数据正常的第一行

  15. 15

    比较当前行与 SQL Server 中的上一行

  16. 16

    如何比较上一行的日期和更新SQL Server中的条目

  17. 17

    如何在SQL Server中“复制”一行?

  18. 18

    如何在sql server中的一行添加列?

  19. 19

    SQL Server如何只更新数据库中的一行?

  20. 20

    T-SQL上一年下一年总计

  21. 21

    SQL Server-比较当年的月份和上一年的月份

  22. 22

    SQL动态查询上一年和当年的所有数据

  23. 23

    SQL Server 2005:查找一年不下订单的客户

  24. 24

    sql上一行

  25. 25

    如何创建存储过程以获取SQL Server 2008中上一列Entry的值?

  26. 26

    Proc SQL:通过将数据从一年复制到另一年来创建视图

  27. 27

    如何选择上一年未捐款的捐助者(SQL)

  28. 28

    如何在SQL中计算当年和同月与上一年的差值

  29. 29

    我应该使用smallint还是numeric(4,0)在SQL Server中存储一年

热门标签

归档